2013-09-28 59 views
1

任何人都可以給我一個提示如何設置在Amazon EC2(Ubuntu)上運行的Rails應用程序的CRON作業?如何在Amazon EC2上爲Rails應用運行CRON作業?

試圖找到一些教程或提示如何使它工作,但還是沒有成功。 謝謝

+0

「問題,要求我們建議或找到一個工具,庫或喜愛的異地資源是題外話堆棧溢出,因爲他們往往以吸引自以爲是的答案和垃圾郵件相反,[描述問題(HTTP:// meta.stackexchange.com/q/139399/)以及到目前爲止解決它的過程。「那麼,你通過什麼搜索了,你做了什麼來解決它? –

回答

1

嘗試創建一個執行任務的crondjob模型方法。您可以使用rails runner執行腳本。

rails runner 'User.deliver_reminder_emails!' 

的寶石時甚至可以做票友的東西:https://github.com/javan/whenever

0

你應該看看rake任務。檢查this,thisthis

運行它們很簡單,只要

rake foo:bar 

您可以安排在相同的crontab;如果您使用rvmbundler在本地管理寶石,則可能需要設置正確的PATH變量。

0

這個工作證明是相當棘手的對我來說,作爲ELB-EC2實例試圖運行cron作業爲根,這似乎導致不同的權限,捆綁等

這是有點哈克,但這個工作:

sudo su ec2-user bin/bash -lc "cd /var/app/current && /opt/rubies/ruby-2.1.8/bin/bundle exec/bundle exec rails runner -e your_env \"Model.do_something\"" 

基本上,蘇到通常運行軌道,並明確規定了束的路徑中的用戶。 。