【发布时间】:2012-02-17 17:56:47
【问题描述】:
我已经编写了一个类,该类通过监视已提交作业的表来运行后台作业服务器。运行服务器所需的代码本质上是:
j = JobServer.new
j.run!
我已将它封装在 Rake 任务中进行测试,但现在我想要一种方法来后台运行该作业并提供一个初始化脚本来管理此服务器。我花了一段时间玩daemons gem,但最终得出的结论是,它在关闭后台 proc 时会关闭我的文件描述符。这行不通,因为我的数据库后端是 SQLite3,并且关闭该文件描述符往往会使 Rails 生气。
有没有一种简单的方法来完成我想要做的事情?我要补充一点,我刚刚在另一个用户的答案中看到了delayed_job gem,但如果我能提供帮助,我不想重新编写我的 JobServer 类。
【问题讨论】:
-
我认为你应该尝试 resque 或 delay_job,可能你的代码没有太大变化。根据我的意见尝试 resque
标签: ruby-on-rails ruby delayed-job