Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby-on-rails,使用rails的延迟作业_Ruby On Rails_Delayed Job - Fatal编程技术网

Ruby-on-rails,使用rails的延迟作业

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

我想用某种方法直接开始这项工作。因此,我使用常用的rails s启动应用程序。上载一些内容,以便调用create方法。创建方法后:perform_analysis-方法延迟。一些数据被插入到延迟作业表中。通常,我在命令行中键入
“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
将同时启动服务器和工人。这两种方法的输出将显示在同一窗口中。

是否可以在创建方法后几分钟内启动辅助程序?我以前没有见过这种设置。你有没有理由不继续工作?