私は Windows で RoR を使用するのに比較的慣れていません。ActionMailer を使用して電子メールを送信する単純なアプリを Rails で作成しました。Windows スケジューラにタスクを追加して、コントローラ内で電子メール メソッドを呼び出すバッチ ルーチンを実行したいと考えています。これを行うと、Web アプリは実行されないため、CURL などを行うことはできません。いくつかの引数を指定して Ruby.exe を実行し、Rails アプリ (irb と同様) を起動して controller:method を呼び出す方法はありますか?
更新: 正解とマークした回答でアドバイスを受け取りましたが、私のような RoR 初心者がもう少しガイダンスが必要な場合に備えて、詳しく説明したいと思いました。
- フォルダー app\classes を作成し、クラスの .rb ファイルを作成しました
- セットアップを処理するために初期化メソッドを作成する必要がありました
- 単純に変数を返すメソッドをいくつか作成しました
- Railsコンソールでステップを実行できることを確認しました
- 以下のコードで lib\tasks にファイルを作成しました
これをプロジェクト フォルダーの DOS で実行します - rake runMe --trace
task :runMe => :environment do @s = ScrapeTools.new @bears = @s.getBears @bulls = @s.getBulls UserMailer.stock_email(@bears,@bulls).deliver end
エラーが表示された場合はお知らせください