我需要为用户实现自定义调度程序。
示例场景:用户设置要在星期一上午12:00运行的确切作业,然后编辑它以在星期五等执行。所有这些在GUI界面中。
如何用sidekiq做到这一点?我知道有sidekiq调度程序,但它基于预定义的.yml配置文件。
使用cron工作。 https://github.com/ondrejbartas/sidekiq-cron。在数据库中保存用户作业并调用作业。
Sidekiq::Cron::Job.new(name: 'some database id', cron: '*/5 * * * *', class: 'HardWorker')
当用户删除或更改作业时,只需搜索作业并销毁。然后创建一个新的。
Sidekiq::Cron::Job.find('some database id').destroy