0

我想通过某种特定的方法直接开始工作。所以,我用通常的 rails 启动应用程序。上传一些东西,所以调用 create 方法。创建方法后 :perform_analysis -方法被延迟。一些数据被插入到delayed_jobs 表中。通常我会开始工作人员"script/delayed_job start"在命令行中输入内容。但我想自动启动工人工作,所以我什么都不输入。

模型:

after_create :perform_analysis
def perform_analysis
bla
end
handle_asynchronously :perform_analysis, :run_at => Proc.new { 5.minutes.from_now }

所以,我用 rails 运行了一个应用程序。我登录我的wep页面。上传一些文件,5 分钟后作业被延迟。然后工人应该开始工作。我发现这个页面几乎可以满足我的要求,但不知何故,工作人员根本没有开始。所以schedule.rb没有运行。我应该做更多该网页上没有告诉的事情吗?

还有其他可能吗?

4

1 回答 1

0

我建议您查看 Foreman ( http://ddollar.github.com/foreman/ ) 并让您的 procfile 声明一个工作进程:

web: bundle exec rails s
worker:  bundle exec rake jobs:work

这样,一个命令foreman start将同时启动服务器和工作程序。两者的输出将显示在同一窗口中。

于 2013-03-17T16:11:43.693 回答