问题标签 [delayed-job]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
346 浏览

ruby-on-rails - 在生产模式下使用acts_as_ferret 的DelayedJob

通过 DelayedJob 运行任务时出现以下错误:

从错误中可以明显看出delayed_job 找不到ferret_server。但是,当我在生产模式下从控制台运行此 SAME 任务时,它工作正常。我如何确保延迟作业有任何想法:

  1. 真正加载了生产环境。我在 script/delayed_job 中设置了 RAILS['ENV]] = 'production' 以确保这一点。(我想这应该不错)

  2. 通过模型配置雪貂?

0 投票
3 回答
1716 浏览

ruby-on-rails - Delayed_Job 和 Active Record 的 Rails 问题

我正在使用 Delayed_Job 从 API 中获取 Twitter 用户的数据,但由于某种原因它没有将其保存在模型中!请帮忙!(下面的代码)

结尾

澄清一下,我实际上没有收到任何错误,只是没有保存。这是我的日志的样子:

谢谢!

0 投票
2 回答
419 浏览

ruby-on-rails - delay_job 通过 drb 服务器与acts_as_ferret 交谈导致关闭流错误

delayed_job用来处理一些文件,然后用结果创建一些活动记录对象。acts_as_ferret正在为作为 drb 服务器运行的 activerecord 对象编制索引。处理作业时delayed_job,一切正常,直到活动记录尝试通过 drb 服务器与 ferret 对话。

堆栈跟踪在这里: http: //pastie.org/693588

通过控制台或不通过控制台调用相同的进程delayed_job是成功的。我的猜测是,由于某种原因,可能与权限相关,delayed_job无法与 drb 服务器通信,但不确定。有什么想法吗?

0 投票
5 回答
16964 浏览

ruby-on-rails - 在启动时启动延迟作业

我将delayed_job 与capistrano 一起使用,并且想要一种在Web 应用程序启动时使用'script/delayed_job start' 启动delayed_job 的方法。这样 capistrano 可以在部署时重新启动它。如果服务器重新启动,那么我的delayed_jobs 应该与项目一起启动。

我怎样才能做到这一点?我应该考虑在环境文件中执行此操作还是作为初始化程序?

0 投票
4 回答
5441 浏览

ruby-on-rails - 我可以在我的 Rails 应用程序中启动和停止 delay_job 工作人员吗?

我有一个可以从延迟作业和一些后台处理中受益的应用程序。问题是,我真的不需要/想要延迟工作的工作人员一直在运行。

该应用程序在共享托管环境和多个位置(针对不同用户)中运行。另外,该应用程序的使用量并不大。

有没有办法仅在某些操作/事件之后从我的应用程序开始和停止处理作业(使用脚本或 rake 任务)?

0 投票
4 回答
23668 浏览

ruby-on-rails - 如何在生产中部署 resque worker?

GitHub 的家伙最近发布了他们使用 Redis 的后台处理应用程序:http: //github.com/defunkt/resque http://github.com/blog/542-introducing-resque

我让它在本地工作,但我很难让它在生产中工作。有没有人得到:

  1. Capistrano 部署工人的方法(控制工人的数量,重新启动他们等)
  2. 将工作人员部署到与运行主应用程序的机器分开的机器上,这里需要什么设置?
  3. 让 redis 在服务器上重新启动后幸存下来(我尝试将其放入 cron 但没有运气)
  4. 您是如何在部署中使用 resque-web(他们出色的监控应用程序)的?

谢谢!

PS 我在 Github 上发布了一个关于此的问题,但还没有回复。希望一些 SO 大师可以帮助解决这个问题,因为我在部署方面不是很有经验。谢谢!

0 投票
3 回答
4401 浏览

ruby-on-rails - 延迟作业在开发中有效,但在生产中无效

我的应用程序使用Delayed Job 的 Collective Idea fork异步发送电子邮件。问题是这在开发环境中可以正常工作,但在生产环境中却不行。这些工作没有失败(我已经检查了delayed_jobs表格),它们只是没有被消耗。生产日志中没有什么值得注意的。

这是表中handler列的内容delayed_jobs

——我看不出有什么问题。这是我的FeedbackMailer课:

最后,这是我Message课堂上的相关方法:

我知道 ActionMailer 代码在生产中可以正常工作,因为我在切换到延迟作业之前已经同步测试了它。正如我所说,我也一直通过在开发中成功使用延迟作业来运行它。

如果我top在服务器上运行命令,那么我可以看到延迟作业 Ruby 进程每五秒激活一次。我该如何调试呢?

0 投票
2 回答
2903 浏览

ruby-on-rails - 让延迟工作在模型中工作

我有一个代表文档的模型,标题、作者等是从网络表格中抓取的,但是需要从 PDF 中提取内容,这需要时间和资源密集型。这似乎是使用delayed_jobs 的合乎逻辑的地方,但它总是失败,所以我想知道我是否缺少限制或GCE

上面的代码无需任何更改即可工作。我认为延迟作业允许用 send_later 调用替换直接方法调用并继续

此代码将始终失败作业,并且会抱怨访问作为模型一部分的私有方法,例如,下载 PDF 需要 URL。任何指针将不胜感激。

添加:

方法定义(链接和摘要是文档模型的数据库支持属性)

错误信息

0 投票
2 回答
2136 浏览

ruby-on-rails - 是否可以与主 Rails 应用程序分开更改延迟作业的日志记录级别?

我想DEBUG在我们的登台服务器上使用我的 Rails 应用程序的日志记录级别,但我希望delayed_job(每 10 秒将一条SELECT语句记录到主 Rails 日志中)以INFO级别记录,所以我没有得到这些delayed_job SELECT语句在那里。

这可能吗?

0 投票
2 回答
1984 浏览

ruby-on-rails - delay_job - 执行不是最新的代码?

我在site5.com 共享主机上使用delayed_job(尝试了tobi 和collective_idea),乘客作为rails 环境。我设法完成了工作。但是,该插件似乎在首次运行后忽略了作业类源代码中的任何更改。我在每次更改时都重新启动了服务器(touch tmp/restart.txt),但它仍然忽略它。

例子:

文件:lib/xx_job.rb

在一个简单的控制器中,我调用:

我收集到的结论:

  1. 如果我将 xx_job.rb 更改为 xx_job1.rb - 控制器上的错误
  2. 如果我将类 XxJob 更改为类 XxJob1 - 控制器上的错误
  3. 如果我删除所有的perform方法内容-旧代码旧代码被执行
  4. 带有类和执行的新 .rb 文件,将此类入队 - 完美运行
  5. 如果我在新文件的执行中更改某些内容并再次运行作业 - 执行旧代码

在每次更改之间,我都重新启动了服务器。似乎乘客或其他东西可以保存类缓存。

如何删除此缓存?是存储在服务器上的某个地方吗?(我希望我可以从共享主机访问它)

谢谢!