2010-04-10 108 views
21

我已经看到Heroku收费15美元/月运行延迟工作,每天3美元运行cron任务。是否可以完全跳过并手动运行我自己的cron任务?或者他们以某种方式搞清楚我正在运行cron任务?在Heroku上运行Cron任务

回答

21

我不完全确定你的意思是“手动运行我自己的cron任务”。对于cron,您需要访问他们可以控制的crontab,因为它们是他们的服务器。如果你有另一种方式做,它可能会很好,但请记住,在Heroku下运行时,你的应用程序没有绑定到特定的服务器,并且服务器在执行之间改变。

另外,除非自上次检查后更改了它,否则您可以免费运行每日cron任务,但每小时花费3美元/月。

编辑:是的,每日克朗是免费的。见http://addons.heroku.com/

+9

现在有调度附加:http://addons.heroku.com/scheduler这是自由。 - 计划程序加载项可以每10分钟,每小时或每天对您的应用运行任意数量的命令。 – 2011-11-25 08:56:10

+5

这个插件是免费的,但你仍然收取由被启动的cron中的一次性预提过程到了极致小时。 – 2012-11-14 16:42:31

+0

@EnricoCarlesso,它说“总计 - 每天20次或20次”。这是否意味着我可以免费每月只运行20次?所以没有办法每天免费运行一次,因为它是30次? – 2014-11-30 11:32:21

10

如果您在计算机上安装Heroku gem,则可以手动运行的后台任务如下:

$ heroku rake cron 
(in /disk1/home/slugs/xxxxxx_aa515b2_6c4f/mnt) 
Running cron at 2010/04/25 10:28:54... 

这将执行完全相同的代码为Heroku的每日/每小时的cron插件做;也就是说,对于这个工作,你的应用程序必须有一个Rake文件与cron任务,例如:

desc "Runs cron maintenance tasks." 
task :cron do 
    puts "Running cron at #{Time.now.strftime('%Y/%m/%d %H:%M:%S')}..." 
    # TODO: your cron code goes here 
end 

现在,只需直接添加heroku rake cron命令一个crontab您的任何Unix服务器上,或甚至您的个人电脑的crontab(如果您正在运行Linux或Mac OS X),并且您可以为您的Heroku应用程序安排cron作业,而无需为此付费。

+0

看来他们正在限制这个速度以防止滥用。意识到。不用说,你可能不应该使用这个生产机器... :) – avocade 2010-05-13 14:49:56

+0

avocade,这是很好的知道。你有链接到关于限速的更多信息吗? – 2010-05-14 08:11:34

+0

自2010年以来可能有过几次变化,但我不明白他们为什么会限制这一点。当你启动一个佣金任务时,你需要支付那段时间。启动耙子任务1000次,并支付1000 *任务时间。 – danneu 2013-01-04 22:31:39

4

是的,我已经成功地使用基本上运行

$ heroku rake <rake task> 

在我需要的任何间隔我的本地服务器上的cron作业。我用过白杨和竹垛。

+0

小背包:PPP – mxcl 2012-02-02 13:07:03

0

如果您正在运行rails应用程序和安装程序安装程序,那么您也可以只安装像rufus-scheduler这样的gem。我不知道这是不是出于某种原因的不好的做法,但这是我用我的应用程序做的,它似乎工作正常。

-5

如果您想要安排计划任务,您还可以使用http://guardiano.getpeople.in这是一项免费服务(适用于10个工作)以进行工作计划。

您只需在应用程序中设置HTTP端点以接收POST或GET上的事件通知,并且还可以设置一些附加参数以防止未经授权的操作。

因此,如果您希望您的行动在将来运行一次或将分钟设置为您希望每隔X分钟运行一次您的行动,那么您在Guardiano中设置的工作将会保留http://yourapp.com/youraction并将“分钟”留空。通过这种方式,您只需为您创建应用程序的终端,并在此EP被调用时执行某些操作。

所以你的应用程序可以睡觉,你不需要花钱和时间设置工作,并保证他们正常工作。

恕我直言,如果你需要一个MVP的东西快,或者您需要安装不同的应用程序有很多的工作比一样,在这里你可以真正外包cronjobs是相当不错的免费服务。

有ASLO的Heroku的附加组件称为见风使舵要做到这一点,但我不知道还活着,工作

+0

链接已损坏。 – chrishasbrouck 2016-02-14 04:42:48