问题标签 [rails-activejob]

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 投票
0 回答
827 浏览

ruby-on-rails - 如何将选项哈希发送到 sidekiq/activejob?

我正在尝试将选项发送给 sidekiq 工作人员。Sidekiq 正在使用 Activejob

这不起作用,似乎是因为 ActiveJob 或 Sidekiq 不喜欢接收键控哈希。例如,@user.do_background_task(@object, selector: true)导致错误NoMethodError: undefined method '[]' for nil:NilClass

将密钥传递给队列的公认方式是什么?

0 投票
1 回答
758 浏览

ruby-on-rails - 活动作业抛出意外错误

我正在尝试让 active_job 与 delay_job 一起工作。一切工作正常......因为代码按预期执行,但delayed_job 条目报告出现错误。我得到的错误如下。

ProcessEventJob是我坐在的工作班app/jobs/process_event_job.rb

我用它来称呼它

ProcessEventJob.perform_later(params)

我已经重新启动了服务器和delayed_jobs。确保它在正确的环境变量下运行。不太确定还能做什么。我还可以从控制台正常访问 ProcessEventJob。

我认为应用程序文件夹中的文件会自动需要。

任何有关如何调试的想法将不胜感激。

编辑

请注意下面的代码调用延迟的作业。它是我们用来捕获事件的暴露端点。

编辑

所以我似乎取得了一些进展,但仍然没有意义。我的登台设置运行了多个应用程序。其中两个使用delayed_jobs。

我想也许两者之间发生了一些冲突,所以我停止了我不需要的延迟工作,突然间一切都开始正常工作了。我看到一篇文章说,如果你使用 -i ...,你可以运行两个实例。

我不确定这是否是我正在寻找的。

0 投票
1 回答
1295 浏览

ruby-on-rails - 如何访问活动作业中的延迟作业实例 - Rails 4.2

我在后台使用带有延迟作业(4.0.6)的 ActiveJob,我想找到一个预定的作业来删除它。

例如,如果我有

然后,如果我编辑 MyClass 实例并再次调用 my_method,我想取消该作业并安排一个新作业。

正如这篇文章http://www.sitepoint.com/delayed-jobs-best-practices中所建议的,我在延迟作业表中添加了两列:

所以这样我可能会找到一个延迟的工作并将其销毁。但我想在 ActiveJob 类中执行此操作,以维护项目中的作业模式。

我想做类似的事情:

但这不起作用。

有人遇到过这种问题吗?

0 投票
0 回答
68 浏览

ruby-on-rails - 重启时重启 sidekiq 作业

目前我正在使用触发以下方法的 cron 作业重新启动我的 sidekiq 作业

但是,我不相信这是处理此问题的最佳方法,因此我想我会看看是否有更好的解决方案。

0 投票
0 回答
174 浏览

ruby-on-rails - Resque::Plugins::UniqueJob 是否有等效的 ActiveJob?

我正在尝试将 ActiveJob 集成到 Rails 4.2 应用程序中,但我们使用的是特定于 resque 的插件,这在某种程度上违背了能够交换排队后端的目的。

ActiveJob 是否提供类似于Resque::Plugins::UniqueJob的东西?

0 投票
1 回答
261 浏览

ruby-on-rails-4 - Action Mailer 未执行 Proc 以生成 TO 字段

UP 04/08/2015:实际上是否可以同时使用.deliver_later和 proc ?

我的问题 :

我的电子邮件没有执行生成 TO 字段的过程,因此在 postfix 上发送了一封错误的电子邮件

后缀日志

控制器

梅勒

配置

编辑:我正在使用ActionMailer Basics #2.3.3中建议的 proc

0 投票
2 回答
2568 浏览

ruby - 在 sidekiq 或 activejob 执行方法中使用超时

我计划从 Heroku Scheduler 转移到使用 Clockwork gem 的自定义时钟进程。如果任务在下一个相同类型的调度任务之前没有完成,Heroku 调度程序将终止该任务。我如何在 Sidekiq 中实现这一目标?

鉴于 Timeout 不是线程安全的。在 Sidekiq 工作人员中执行此操作是个坏主意吗?

如果不是还有什么选择?假设我想每 10 分钟运行一次作业,但我不想同时运行相同的作业。我应该如何处理?

0 投票
2 回答
2679 浏览

ruby-on-rails - ActiveJob GlobalID 和内存中的 ActiveRecord 对象

我正在使用排队系统 (Sidekiq) 并希望迁移到 ActiveJob 以获得性能优势,即每次将 ActiveRecord 对象传递给工作人员时都不必查询数据库。我想询问并确认,因为我不是 100% 确定,但我的理解是,当 ActiveJob 使用 GlobalID 传递所有在内存中完成的 ActiveRecord 对象并且没有完成对数据库的单独查询时,对吗?

0 投票
7 回答
7504 浏览

ruby-on-rails - 如何过滤或删除 ActiveJob 参数的日志记录?

我正在使用 Rails 的 ActiveJob,我的一项工作将原始电子邮件作为输入。调试时,这可能会导致我的应用程序日志中出现大量噪音。我怎样才能避免这种情况?

0 投票
1 回答
2385 浏览

ruby-on-rails-4 - Rails 4 ActionMailer - 如何在使用 Deliver_later 时捕获连接和 SMTP 错误

我正在使用 ActionMailer deliver_later w ActiveJobs / Sidekiq 使用:

当我在开发模式 w MailCatcher 中进行测试时,我能捕捉到的唯一错误是 Errno::ECONNREFUSED,设置端口 1026 而不是 1025

当我测试 Deliver_now 时,我收到 Errno::ECONNREFUSED 错误,这很好

但是,当我请求deliver_later 时,请求在sidekiq 邮件队列中很痛苦,并且没有捕获错误......

在这种情况下,我如何捕获和拯救 SMTP 错误?我想这是 Sidekiq 的责任来处理它......欢迎任何提示......