铁路的Cron工作:最佳做法?

在Rails环境中运行计划任务的最佳方法是什么?脚本/运行者?耙?我想每隔几分钟运行一次任务。



慕的地10843
浏览 550回答 3
3回答

猛跑小猪

我正在使用rake方法(由heroku支持)带有一个名为lib / tasks / cron.rake的文件。task :cron => :environment do  puts "Pulling new requests..."  EdiListener.process_new_messages  puts "done."end要从命令行执行,这只是“ rake cron”。然后可以根据需要将此命令放在操作系统cron / task调度程序上。更新这是一个相当古老的问题和答案!一些新信息:此后,我引用的heroku cron服务已由Heroku Scheduler取代对于频繁执行的任务(尤其是要避免Rails环境启动成本的情况),我的首选方法是使用系统cron调用脚本,该脚本将(a)拨一个安全/私有webhook API在后台调用所需的任务或(b)将任务直接放入您选择的排队系统中

慕容3067478

我已经在非常依赖计划任务的项目上使用了非常流行的“ 每时每刻”功能,这很棒。它为您提供了不错的DSL来定义计划的任务,而不必处理crontab格式。从自述文件:只要有Ruby gem可以提供清晰的语法来编写和部署cron作业。自述文件中的示例:every 3.hours do  runner "MyModel.some_process"         rake "my:rake:task"                   command "/usr/bin/my_great_command"endevery 1.day, :at => '4:30 am' do   runner "MyModel.task_to_run_at_four_thirty_in_the_morning"end
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Ruby