【问题标题】:Ruby on rails, delayed jobs with rails sRuby on rails,使用 rails s 延迟作业
【发布时间】:2013-03-05 22:39:43
【问题描述】:

我想通过某种方法直接开始工作。所以,我用通常的 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 分钟后作业被延迟。然后工人应该开始工作。 我发现this page 几乎可以满足我的要求,但不知何故,工人根本没有开始。所以schedule.rb 没有运行。我应该做更多该网页上没有说明的事情吗?

还有其他可能吗?

【问题讨论】:

    标签: ruby-on-rails delayed-job


    【解决方案1】:

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

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

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

    【讨论】:

    • 是否可以在创建方法后几分钟内启动工作人员?
    • 我以前没见过这种设置。你有理由不继续工作吗?
    猜你喜欢
    • 1970-01-01
    • 2013-05-01
    • 2017-11-09
    • 1970-01-01
    • 2020-09-03
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    相关资源
    最近更新 更多