2011-07-22 7 views
0

私は現在、私はそれがやりたいすべてを行いRails 3 cron via app?

http://localhost:3000/MyApp/update

をやっています。私はdelayed_jobを試しましたが、うまくいかなかったので、同じことをするためにcronや他のメソッドを使用しようとしています - そのタスクを完了するために更新にアクセスする必要があります。バックグラウンドで何度もやっています。

私はcron + wgetとも思っていますが、これはむしろハッキーに見えますが、Macはデフォルトでwgetが付いていません(最小限ですが、代替案を探すのが原因です)。

どうすればよいですか?

ありがとうございます!

+0

Macにはwgetはありませんが、このジョブでは同じように動作するカールがあります。 – SaucyK

答えて

1

runnerを使用すると、Rails環境のコンテキストで任意のRubyコードを実行できます。 cronの中に、それを吸うことを入れて

RAILS_ENV=production rails runner /path/to/script.rb

:あなたのようなコマンドラインから実行できるより

User.all.each { |u| u.send_email_update }

:あなたのようなファイルを持っていたと言います。

もちろん、cronを実行しているユーザーが$PATHrailsを持っていること、または絶対パスでコマンドを指定していることを確認してください。

+2

cron + railで何かしているなら、いつでも宝石を見てみることをお勧めします。 https://github.com/aKhadiemik/whenever – George