1

最終的には、Rake タスクとして設定して cron ジョブを実行したいと考えていますが、今のところは、以前はスタンドアロン スクリプトとして機能していた Ruby スクリプトを使用して、その中で動作させることだけです。私のRailsアプリ。

ファイルの名前を.rake代わりにに変更し、コマンドラインで.rb実行しようとしましたが、次のエラーメッセージが表示されました:rake my_script

rake aborted!
Don't know how to build task 'my_script'

(See full trace by running task with --trace)

Rails 環境でこのスクリプトを実行するにはどうすればよいですか?

このようなことをするのはこれが初めてなので、どんな助けでも大歓迎です。

ありがとう。

4

2 に答える 2

3

あなたが探しているのはレールランナーだと思います。私はRails 2.3.xであなたがすることを知っています

ruby script/runner <your file>

Rails 3 では少し異なるかもしれません。

http://guides.rubyonrails.org/command_line.html#rails-runner

于 2012-06-02T22:36:47.530 に答える
1

ランナーとレーキ タスクの主な違いは次のとおりです。ランナーはレールを起動しますが、レーキ タスクは起動しません (そうするように指示できます)。

rake は両方 (起動する/起動しない) を実行できるため、Rails-3 にはランナーの概念がなくなりました。

したがって、rake タスクを作成します。whatever_name.rake

例:

desc "This task does awesome stuff"
  task :do_awesome_stuff do
  awesome_method
end

def awesome_method
  #put your ruby code here
end

コマンド プロンプトから、rake do_awesome_stuffこの rake タスクを実行するために入力します。

Rails を起動するには、タスク定義を次のように変更します。

task :do_awesome_stuff => :environment do
于 2012-06-02T23:15:35.797 に答える