我正在尝试升级到Rails 4.2,并使用delayed_job_active_record。我没有为测试环境设置delayed_job后端,因为我认为这样工作任务将会立即执行。 我正在尝试使用RSpec测试新的“deliver_later”方法,但是我不确定该如何操作。 旧的控制器代码:Se...
这是我第一次异步处理作业,我正在实现Sidekiq来进行应用程序的后台处理。我将使用它来发送提醒电子邮件和应用程序通知。我对于是否应该使用Active Job创建发送电子邮件的作业还是使用Sidekiq Worker发送电子邮件感到困惑。它们似乎做着相同的事情,而Rails 4.2 Activ...
我正在一个Rails API应用中开发reset_password方法。当这个端点被访问时,会排队执行一个ActiveJob,该任务将发送一个请求到Mandrill(我们的事务性电子邮件客户端)。我目前正在尝试编写测试以确保在控制器端点被访问时正确地排队ActiveJob。def reset_...
我找到了这个 在Rails中安排一次性任务,但它只展示如何安排一次性任务。我有兴趣安排一个经常性的任务。 Delayed_job可以实现此功能。self.delay(:run_at => 1.minute.from_now) 我该如何在Rails 4.2/Active Job中实现类似的功能?
有没有办法在ActiveJob和Sidekiq中禁用自动重试? 我知道只使用Sidekiq的话,我们只需要将 `retry: false` 添加到 worker 类中即可禁用自动重试。sidekiq_options :retry => false 如此提到:https://github...
在Rails中与ActiveJob进行交互的常见模式是设置一个带有perform()方法的工作,该方法通过perform_now或perform_later异步调用。 对于邮件程序Mailers的特殊情况,您可以直接调用deliver_now或deliver_later,因为ActiveJob...
我有这段代码用于使用Rspec测试ActiveJob和ActionMailer,但我不知道如何真正执行所有排队的作业。describe 'whatever' do include ActiveJob::TestHelper after do clear_enqueued_jo...
从Rails API中,我发现ActiveJob可以重试作业间隔:my_job_instance.enqueue my_job_instance.enqueue wait: 5.minutes my_job_instance.enqueue queue: :important my_job_i...
最近几天我一直在尝试测试这种方法,但没有成功。 另外一个我想做的事情是,在进行了最后一次重试后,rescue错误信息。 请查看我的评论和代码片段,这里也有retry_on的源代码以供参考。 以下是示例代码和测试: my_job.rb retry_on Exception, w...
我目前拥有一个ActiveJob,我使用Sidekiq进行排队。 我想要调试该作业,但是如果要查看我在其中编程的任何消息,我必须检查我的日志文件。 我觉得在Rails控制台中能够看到作业中puts消息会更方便。 但是当我在rails控制台中运行perform_later方法时,它只是将作业排队...