0
当用户可以设置星期和时间段(例如星期一从02:00到03:00)时,我有一个表单。 然后我想运行特定的方法(周期性地,例如每30秒),但只在给定的时间间隔内(它应该在每个星期一的02:00和03:00,每30秒在背景上执行)。 动态创建时间间隔(用户)时可以这样做吗?定期在Rails中手动创建时间间隔运行方法
当用户可以设置星期和时间段(例如星期一从02:00到03:00)时,我有一个表单。 然后我想运行特定的方法(周期性地,例如每30秒),但只在给定的时间间隔内(它应该在每个星期一的02:00和03:00,每30秒在背景上执行)。 动态创建时间间隔(用户)时可以这样做吗?定期在Rails中手动创建时间间隔运行方法
您可以定义一个运行rake任务的cron作业(请参阅语法糖:https://github.com/javan/whenever)。 您的耙子任务可以每隔X秒运行一次并查询数据库以查找新作业。
但是,通过cron调用rake任务会每次启动rails应用程序,因此更复杂的方法是将sidekiq(http://sidekiq.org/)与sidekiq调度程序(https://github.com/moove-it/sidekiq-scheduler)结合使用。
试试这个:http://stackoverflow.com/questions/4602418/rails-whenever-gem-dynamic-values –
尝试在rails中使用delayed_job gem –
你可以使用像rufus-scheduler这样的工具https://github.com/jmettraux /鲁弗斯调度 –