2012-03-19 57 views

回答

2

听起来像是你只需要一个周期性的任务每天运行一次。目前推荐的方法做,在Heroku的是使用scheduler add-on

计划是在预定的时间间隔对您的应用程序运行的作业,就像在传统的服务器环境cron的附加。

仪表板允许您将作业配置为在指定时间每隔10分钟,每小时或每天运行一次。被调用时,这些作业将作为一次性进程运行,并在您的日志中显示为名为run.N的进程。

的基本过程是非常简单的:

  1. 建立一个Rake任务来做什么是你需要做的:

    desc "This task does ..." 
    task :your_task => :environment do 
        # Do something interesting... 
    end 
    
  2. 添加调度附加在通常的方式:

    $ heroku addons:add scheduler:standard 
    
  3. 然后通过Heroku仪表板添加新的Rake任务。

如果你想运行的Heroku以外的周期性任务,然后建立一个cron作业运行相应的Rake任务。

1

您可能希望将此任务放入处理重复进程或任务的Cron作业中。

这里是瑞安贝茨的主题礼貌极好的截屏: http://railscasts.com/episodes/164-cron-in-ruby-revised


如果您需要设置在Heroku上经常性的工作,你只需要添加你的任务lib/tasks/scheduler.rake和使用进行配置程序器附加

http://devcenter.heroku.com/articles/scheduler

+0

这将在Heroku上工作吗? – 2012-03-19 18:17:04

+0

@Ringo:如果你创建了一个'lib/tasks/cron.task'并配置了cron插件,那么cron add-on会被弃用,而不再支持调度器插件。 – 2012-03-19 19:17:21

相关问题