Ruby-on-rails,使用rails的延迟作业
我想用某种方法直接开始这项工作。因此,我使用常用的rails s启动应用程序。上载一些内容,以便调用create方法。创建方法后:perform_analysis-方法延迟。一些数据被插入到延迟作业表中。通常,我在命令行中键入Ruby-on-rails,使用rails的延迟作业,ruby-on-rails,delayed-job,Ruby On Rails,Delayed Job,我想用某种方法直接开始这项工作。因此,我使用常用的rails s启动应用程序。上载一些内容,以便调用create方法。创建方法后:perform_analysis-方法延迟。一些数据被插入到延迟作业表中。通常,我在命令行中键入“script/delayed_job start”,开始工作。但是我想自动启动工人的工作,所以我不会键入任何内容 型号: after_create :perform_analysis def perform_analysis bla end handle_asynchro
“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 s运行了一个应用程序。我登录我的wep页面。上传一些文件,5分钟后作业延迟。然后工人应该开始工作。
我发现这几乎满足了我的要求,但不知何故,工人们根本就没有开始工作。因此,schedule.rb
没有运行。我应该做一些网页上没有告诉我的事情吗
是否还有其他可能这样做?我建议您查看Foreman()并让您的procfile声明一个工人流程:
web: bundle exec rails s
worker: bundle exec rake jobs:work
这样,一个命令
foreman start
将同时启动服务器和工人。这两种方法的输出将显示在同一窗口中。是否可以在创建方法后几分钟内启动辅助程序?我以前没有见过这种设置。你有没有理由不继续工作?