将自定义参数传递给Sidekiq

时间:2016-07-17 14:32:54

标签: ruby-on-rails scheduled-tasks sidekiq sidetiq

我有一个Rails应用程序,要求用户传入输入,定义一个动作的安排频率(例如一个月,三个月,六个月等)我使用Sidekiq来运行备份作业,并集成了Sidetiq用于调度。事实证明(我完全集成后才意识到),Sidekiq在重复执行任务时遇到问题,这些任务最初需要自定义输入。它将在第一次运行正常,但是当它运行三个月后,该方法的参数是(time_last_run,time_of_next_run),这对我来说是一个问题,因为我需要将一些用户细节传递给定期操作。 Sidekiq的作者在几年前就此问题进行了讨论:https://github.com/tobiassvn/sidetiq/issues/37

这让我很失落。这是我的第一个Rails应用程序,我不确定如何使用用户输入执行重复的后台任务。正如您所看到的,Sidetiq问题仍然没有得到解决,而且我不确定是否有任何有效的替代方案。有谁知道如何为此编写解决方法?换句话说,我还能如何实现这个功能(有或没有Sidetiq)?

1 个答案:

答案 0 :(得分:0)

我假设你想在一段固定的时间后开始工作。这可以通过Sidekiq.perform_in方法实现,您需要以秒为单位传递时间作为第一个参数,然后像平常一样通过所有参数。

希望这就是你要找的东西。

相关问题