7得票1回答
DRY in ActiveJob::Base

我需要在Jobs中使用数据清洗技术,所以我编写了一个方法。 def sanitized_sql_statement(query) ActiveRecord::Base.send( :sanitize_sql_array, query ) ...

7得票2回答
我应该在生产环境中使用Rails 5 ActiveJob的默认异步适配器来处理小型后台作业吗?

这是一个处理许可证激活的Rails应用程序,使用外部服务进行处理。外部服务有时会延迟Rails请求的处理时间超过30秒,这将使前端返回错误(我正在运行heroku,因此最大为30秒)。 我尝试使用ActiveJobs和默认的rails async适配器(Rails 5),我可以看到它在Her...

14得票3回答
RSpec Rails测试:如何强制ActiveJob作业在某些测试中内联运行?

我希望在特定标记的测试中内联运行我的后台作业。 我可以通过使用perform_enqueued do包装测试来实现,但是如果可能的话,我希望能够仅使用元数据进行标记并自动完成。 我尝试了以下方法:it "does everything in the job too", perform_enq...

10得票3回答
Mongoid::Document是ActiveJobs的GlobalID::Identification吗?

根据ActiveJobs指南第8部分,它说: “这适用于任何混合GlobalID :: Identification的类,该类默认已混合到活动模型类中。” Mongoid :: Document混合了ActiveModel :: Model,但我找不到其included_modules中...

8得票4回答
使用Sidekiq处理Active Job并遇到ActiveJob::DeserializationError错误

我正在尝试使用Sidekiq运行以下工作。 当不排队(perform_now)时,该工作可以正常执行,但在使用Sidekiq调用(perform_later)时失败。 AddEmployeesToRoomJob.perform_now room ## works fine AddEmpl...

15得票1回答
SerializationError Rails ActiveJob 时间和日期

有人知道避免尝试序列化Date或Time对象时发生ActiveJob::SerializationError的简单方法吗? 我迄今为止的两个解决方案是: 在加载参数时调用Marshal/JSON/YAML dump,然后在作业中load回来(这很糟糕,因为我需要猴子补丁邮件发送作业) 像...

18得票1回答
ActiveJob::SerializationError - 不支持的参数类型:时间 / 日期时间

我正在使用Rails 5和ActiveJob来处理后台任务。 我试图传递一个使用as_json序列化的对象到我的job中,但是我收到了以下错误:ActiveJob::SerializationError (Unsupported argument type: Time): ActiveJob:...

14得票3回答
如何在ActiveJob的rescue中访问执行参数

我想知道如何在rescue块中访问ActiveJob执行参数,例如:def perform object end rescue_from Exception do |e| if e.class != ActiveRecord::RecordNotFound **job.ar...

10得票1回答
如何在 ActiveJob 回调方法中获取工作属性?

Rails 4.2,active_jobs,callback_methods 在我创建的自定义Job的perform方法中,我创建了一个新记录(并上传文件到S3)。如何在after_perform回调函数中传递或获取该新记录的id?我想在after_perform中发送包含S3文档链接的电子...

8得票1回答
使用ActiveJob AsyncAdapter列出排队的任务列表

有没有办法可以查看队列中剩余的作业数量(甚至检查每个作业)?