簡體   English   中英

如何在Amazon EC2上為Rails應用程序運行CRON作業?

[英]How do I run CRON jobs for a Rails app on Amazon EC2?

誰能給我一個提示,如何為在Amazon EC2(Ubuntu)上運行的Rails應用設置CRON作業?

試圖找到一些使它工作的教程或技巧,但仍然沒有成功。 謝謝

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

rails runner 'User.deliver_reminder_emails!'

每當gem可以做更出色的事情時: https : //github.com/javan/whenever

您應該看一下rake任務。 檢查這個這個這個

運行它們就像

rake foo:bar

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

這對我來說相當棘手,因為ELB-EC2實例試圖以root身份運行cron作業,這似乎導致一組不同的權限,捆綁等。

這有點hacky,但這行得通:

 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\""

基本上,su是通常運行rails的用戶,並顯式說明bundle的路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM