【发布时间】:2013-11-18 01:05:57
【问题描述】:
如果我理解delayed job 的方法,那么我有一个方法,我可以用延迟作业调用它。在这种情况下,将把关于这个“作业”的这条记录放入表 delayed_jobs 中,同时将自动运行一个守护进程,该守护进程将处理该表中的一条记录。 p>
表格结构如下:
create_table "delayed_jobs", :force => true do |t|
t.integer "priority", :default => 0, :null => false
t.integer "attempts", :default => 0, :null => false
t.text "handler", :null => false
t.text "last_error"
t.datetime "run_at"
t.datetime "locked_at"
t.datetime "failed_at"
t.string "locked_by"
t.string "queue"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
现在,这是我想使用延迟作业算法的任务。用户可以在我的网站上上传文件。这些文件可能很大 - 例如 400MB,我想为此使用延迟作业。
所以,用户选择了一个他想上传的文件,一条记录将被放入delayed_jobs 表中,现在,我想告诉这个用户,他/她的文件已被处理。但是什么时候会同时上传几个用户,比如说5,我怎么知道用户“A”的上传仍在进行中?如何将自己的列添加到delayed_jobs以及如何在其中写入一些信息?
因为看起来与延迟作业相关的所有内容都在后台运行。
谢谢
【问题讨论】:
标签: ruby-on-rails ruby model amazon-ec2 delayed-job