Tag: 延迟工作

启动时启动delayed_job

我正在使用与capistrano的delayed_job,并希望通过使用'script / delayed_job start'启动Web应用程序启动时的delayed_job。 这样capistrano可以在部署时重新启动它。 如果服务器重新启动,那么我的delayed_jobs应该启动项目。 我怎样才能做到这一点? 我应该看看在环境文件中做这个还是作为一个初始化程序?

未在rspec中处理延迟的作业

我试图运行一个自定义延迟作业(GetPage :: GetPageJob)rspecs,但我有一个问题。 当我运行它们时,这些工作排队很好(也就是说,插入在delayed_jobs表中),但是它们不被工作人员处理。 事实上,在第一个terminal上启动“rake jobs:work RAILS_ENV = test”之后,在第二个terminal上运行规范之后,我看不到第一个terminal上的工作人员的任何输出。 另一方面,如果我通过“脚本/控制台testing”将它们排入队列,这些工作就会得到很好的处理。 所以我有点困惑。 无论是规格还是脚本/控制台,我用来排队工作的线路是: Delayed::Job.enqueue GetPage::GetPageJob.new("http://cnn.com") 任何想法 ?

如何在Rails中用delayed_job取消预定的作业?

我正在安排一个工作,比如10分钟。 如何正确取消这个特定的工作,而不使用模型等任何一种肮脏的额外领域。 是否有任何呼吁去除特定的工作,或与特定的模型,实例等相关的工作?

如何在生产中部署resque工人?

GitHub家伙最近发布了使用Redis的后台处理应用程序: http : //github.com/defunkt/resque http://github.com/blog/542-introducing-resque 我在当地工作,但我正在努力让它在生产中工作。 有没有人有一个: Capistrano食谱部署工人(控制工人数量,重新启动他们等) 部署的工作人员从主应用程序运行的地方分离机器,在这里需要什么设置? 得到Redis的生存在服务器上重新启动(我试图把它放在克朗,但没有运气) 你是如何将resque-web(他们优秀的监控应用程序)join你的部署的? 谢谢! PS我在Github上发布了一个关于这个问题,但没有回应。 希望有些大师可以帮助这个,因为我在部署方面不是很有经验。 谢谢!

我怎样才能看到延迟的工作队列?

我想知道我是否成功获得Delayed :: Job的工作。 在delayed_jobs表中看不到工作。 这是正常的吗? 还有没有其他办法可以看到工作队列?

在Delayed_job中手动重试作业

Delayed :: Job的自动重试function非常好,但是现在有一个工作要手动重试。 有没有一种方法可以在工作上自己调用… Delayed::Job.all[0].perform 或运行,或者什么的。 我尝试了一些东西,并梳理了文档,但无法弄清楚如何执行一个工作的手动重试。

getaddrinfo:节点名或服务名提供,或不知道

我在运行Mac OS X 10.6的计算机上部署了一个Ruby on Rails应用程序。 出现问题的代码由delayed_job运行。 只有通过delayed_job运行时才会出现问题。 如果我在控制台( rails console production )中运行它,或者通过cURL直接调用API,它没有任何问题。 而且,整个过程在我的开发环境中没有问题。 基本上,代码在一个地方工作,但由于某种原因,失败的地方工作。 我已经search并find了一些资源,但没有任何build议适用或有任何区别。 当我login到服务器并运行命令时,一切正常。 但由于某种原因,当它们由Capistrano运行/启动时,它不起作用。 任何帮助是极大的赞赏。 重要笔记: Ruby版本:1.9.2-p0 Rails版本:3.0.1 delayed_job版本:最新(来自collectiveidea / delayed_job ) rest-client版本:1.6.1 码: class CallApi < Struct.new(:num) def perform log "Entering perform" apinum = num || 5 log "ApiNum = #{apinum}" results = attempt(2,10) do ActiveSupport::JSON.decode(RestClient.get(API_URL, {:params => {:apinum => […]

如何用monit监控delayed_job

在networking上有没有任何与Monit监控delayed_job的例子? 我能find的所有东西都使用上帝 ,但是我拒绝使用上帝,因为在Ruby中长时间运行的进程通常会吸引人。 (上帝的邮件列表中最新的post? 上帝的记忆使用率稳步增长 。) 更新: delayed_job现在带有基于这个问题的示例监控configuration 。

你如何告诉特定的Delayed :: Job在控制台中运行?

出于某种原因,Delayed :: Job's已经决定排队,但是即使我已经重新启动了几次,甚至杀了它,然后重新启动它。 它不会运行任何工作。 我可以在/ console中指定一个特定的工作并告诉它工作吗? 例如:.. Delayed::Job.find(x).run