2010-04-10 97 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