cor*_*ded 5 delayed-job ruby-on-rails-3
假设我在后台运行了delayed_job.任务可以安排或立即运行(有些是长期任务,有些则不是)
如果任务太长,用户应该可以取消它.延迟工作有可能吗?我检查了文档,似乎无法找到终止方法或其他东西.它们只提供一个捕获来取消延迟的作业本身(因此取消所有任务......我只需要取消某个正在运行的任务)
更新 我的老板(谁是一个伟大的程序员顺便说一句)建议使用Ruby Threading来实现我们的这个功能.这可能吗?就像为每个任务创建新线程并在其运行时杀死该线程一样?
就像是:
t1 = Thread.new(task.run)
self.delay.t1.join (?) -- still reading on threads so correct me if im wrong
Run Code Online (Sandbox Code Playgroud)
然后停止它我只会使用t1.stop(?)再次不知道
这可能吗?谢谢!
看来我的老板击中了要害,所以这就是我们所做的(请告诉我们这是否有可能是不好的做法,以便我可以提出):
Time.now为 > finished_at。如果是这样,则杀死该线程。瞧!我们已经针对一项工作测试了它,它似乎有效。现在唯一的问题是缩放......
如果您发现任何问题,请在评论中这样做,或者提供更多建议(如果有的话):)我希望这也能对某些人有所帮助!
| 归档时间: |
|
| 查看次数: |
4028 次 |
| 最近记录: |