rake タスク追加など
へろへろながらも色々見つつ云々な方向。
とりあえず以下?
$ rails g task start_stop_vm create lib/tasks/start_stop_vm.rake
lib/tasks に出力、なのか。
その前に確認
現在時刻の時分をそれぞれ文字列として取得せねば、なんですがどうやるんだろ。
$ rails c > t = Time.now => 2013-10-18 08:47:12 +0900 > t.h t.hash t.hour t.html_safe? t.httpdate > t.hour 8 > t.min 47
なるほど。つうか ruby の REPL は tab 補完が効くので良いですね。methods なんてソレもなかなか良いですが人力で探すのは微妙。つうかちょっと前にこのあたり調べた記憶が蘇えってきていたりしています。
とりあえず出力された .rake に desc なソレを突っ込んだら rake -vT で何かが出てきた。で、以下をでっち上げて試験。
namespace :start_stop_vm do desc "execute start and stop vm" task :execute => :environment do now = Time.now Resavation.find_all_by_hour_and_min(now.hour, now.min).each do |r| if r.operation == "Start" VirtualMachine.start_vm(Conn.find(r.conn_id), r.vmid) elsif r.operation == "Stop" VirtualMachine.stop_vm(Conn.find(r.conn_id), r.vmid) end end end end
当り前に動きます。staging 方面にアレしてスマホ実装検討するか。
その後
とりあえず heroku 方面に deploy したのですが、Heroku Scheduler をアレしないといかんのか。コマンドにて以下?
$ heroku addons:add scheduler
で、あとは dashboard から Job 追加で良いのか。いやはや。本当に自動で云々なのかを確認させて頂いて
- Web の UI 微妙
- スマホ方面
で云々、な方向。