Sidekia 测试 w=10=sh
Sidekiq testing perform_in
我想知道是否有任何方法可以测试 sidekiq 是否按照 perform_in
调用中指定的那样在 X 秒内正确执行作业(或将要在 X 秒内执行的作业排入队列)。
据我所知,文档并未提及允许此操作的任何模式。在 fake
模式下,作业似乎直接添加到队列并在 drain
调用时立即执行。
如果您处于 fake
模式,您可以使用 MyWorker.jobs
访问您的 Workers 作业。
如果您使用 perform_in
安排作业,它们应该有一个字段 at
为您提供执行时间(浮动)。
我根据
写了一个 rspec 测试
subject { MyWorker.jobs.first }
it 'is scheduled in 1 minute' do
span = subject['at'] - Time.now.to_f
expect(span.round).to eq 60
end
希望对您有所帮助!
我想知道是否有任何方法可以测试 sidekiq 是否按照 perform_in
调用中指定的那样在 X 秒内正确执行作业(或将要在 X 秒内执行的作业排入队列)。
据我所知,文档并未提及允许此操作的任何模式。在 fake
模式下,作业似乎直接添加到队列并在 drain
调用时立即执行。
如果您处于 fake
模式,您可以使用 MyWorker.jobs
访问您的 Workers 作业。
如果您使用 perform_in
安排作业,它们应该有一个字段 at
为您提供执行时间(浮动)。
我根据
subject { MyWorker.jobs.first }
it 'is scheduled in 1 minute' do
span = subject['at'] - Time.now.to_f
expect(span.round).to eq 60
end
希望对您有所帮助!