gpt4 book ai didi

ruby-on-rails - PaperClip 在处理之前检查是否存在

转载 作者:行者123 更新时间:2023-12-04 23:28:37 26 4
gpt4 key购买 nike

我正在尝试跳过 PaperClip处理我的音乐是否已被删除。

基本上,当我上传音乐时,如果出现问题,我想销毁上传文件的每一部分。此操作由 ffmpeg 延迟并完成.另一个任务被延迟到附加图片到我的音乐。

不幸的是,PaperClip当我销毁糟糕的音乐时,过程(附上图片)已经被延迟了。这意味着当进程启动时,源不再存在。
这阻止了我的 delayed_jobs我必须手动销毁它。

我正在使用 Delayed_paperclip创造那些延迟的工作。

如何在处理之前检查源是否存在?

最佳答案

您正在处理的问题称为 race condition : https://en.wikipedia.org/wiki/Race_condition

假设,你是这样的:@my_instance.delay.method
您可能希望将要附加图像的对象的 id 传递给 perform方法

def perform(obj_id)
begin
MyObj.find(obj_id)
rescue
# => do your stuff here
ensure
# => ensure your stuff here
end
end

示例: https://github.com/collectiveidea/delayed_job/#custom-jobs

关于ruby-on-rails - PaperClip 在处理之前检查是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30802933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com