Delayed_Job - 现场5服务器

问题描述:

我目前正在使用site5服务器,并且想要 rake jobs:work几乎一直在运行。 我目前无法发送作业,除非我登录到服务器。我希望有人能帮助我。在ar_mailerwhenever宝石上遇到了很多麻烦......但还有另外5个宝石可以在我的Rails应用程序中完美工作。Delayed_Job - 现场5服务器

有人可以解释一下这个问题吗? 非常感谢。 (安装delayed_job作为插件)

OK我对此有一个解决办法,这是我能做到的最好,但它工作在一定程度上... 我利用cron作业和自定义脚本/ jobrunner文件

我创建了jobrunner脚本位于script/jobrunner包含以下

#!/usr/bin/env ruby 
require File.dirname(__FILE__) + '/../config/environment' 
Delayed::Worker.new.start 

然后在cron作业我做到了运行该文件。

在cron报告中,我仍然遇到一些错误,但工作仍在继续,我很满意!

例如,cron作业每半小时运行一次,它会遍历表中的所有delayed_jobs并处理它们。这是我发现我的问题的下一个最佳解决方案。希望这可以帮助未来的人。

去看看我能为日常/每周任务想出哪些其他脚本。

如果您正在使用capistrano,请在部署应用程序时启动delayed_job。将其添加到您的部署配方文件中。

require 'delayed/recipes' 
after "deploy:stop",  "delayed_job:stop" 
after "deploy:start",  "delayed_job:start" 
after "deploy:update_code", "delayed_job:stop" 
after "deploy:restart",  "delayed_job:start" 
+0

不幸的是不使用capistrano。而当我运行脚本/ delayed_job开始或脚本/ delayed_job重新启动没有错误引发,但工人不会在后台运行。我仍然有我失去一些东西的感觉。 此外,当我运行脚本/ delayed_job运行我得到“未初始化常量Delayed :: Backend :: ActiveRecord :: Base” 必须有一些简单的我想念。 感谢您的尝试。 – 2010-04-05 04:40:33

+0

尝试http://github.com/collectiveidea/delayed_job分支。正在积极和积极地开发它,使其更加强大。 – 2010-04-05 13:00:10

+0

再次感谢乔纳森,我正在使用这一个,而不是因为这个原因托比。它处理delayed_job并将其放入表中,唯一的问题是我想让工作人员始终运行,而不必继续调用“rake jobs:work”。我可以在配置初始化程序中设置延迟,这不是问题,即使设置了一个cron作业来完成此操作,出于某种原因,它只是不想工作...... :( – 2010-04-05 14:13:35

延迟作业附带一个脚本,用于在后台自行启动并记录到log/delayed_job.log。您可以启动一个守护进程的delayed_job,像这样在开发模式下运行:

RAILS_ENV=development script/delayed_job start