質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.51%

  • Ruby

    8988questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    8397questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • コマンド

    245questions

    コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

clockworkからrakeコマンドを実行してもputsが出力されません。

受付中

回答 0

投稿

  • 評価
  • クリップ 2
  • VIEW 970

mitsuru793

score 149

railsで定期処理をさせるcronのようなgem、clockwork(1.2.0)を使用しています。clockworkからrakeコマンドを実行させているのですが、rakeコマンドに記述したputsがコンソールに出力されません。コンソールから直接rakeを実行した場合は、ちゃんと出力されています。clockworkからrakeコマンドを実行させるにはどうすればいいでしょうか?clockwork自体は正常に稼働しています。

ご回答、よろしくお願い致します。

 環境

# lib/task/greeting.rake
namespace :greeting do
  desc "Say hello world"
  task :hello do
    puts "hello world"
  end
end

# config/clock.rb
require 'clockwork'
require File.expand_path('../boot', __FILE__)
require File.expand_path('../environment', __FILE__)

module Clockwork
  every(1.minute, 'one_minute') do
    puts "start"
    `rake greeting:hello`
    puts "finish"
  end
end

% sw_vers
ProductName:    Mac OS X
ProductVersion:    10.10.5
BuildVersion:    14F27

% rails about
About your application's environment
Rails version             4.2.3
Ruby version              2.2.2-p95 (x86_64-darwin14)
RubyGems version          2.4.5
Rack version              1.6.4
JavaScript Runtime        Node.js (V8)
Middleware                Rack::Sendfile, ActionDispatch::Static, Rack::Lock, #<ActiveSupport::Cache::Strategy::LocalCache::Middleware:0x007f9f8c18e498>, Rack::Runtime, Rack::MethodOverride, ActionDispatch::RequestId, Rails::Rack::Logger, ActionDispatch::ShowExceptions, WebConsole::Middleware, ActionDispatch::DebugExceptions, ActionDispatch::RemoteIp, ActionDispatch::Reloader, ActionDispatch::Callbacks, ActiveRecord::Migration::CheckPending, ActiveRecord::ConnectionAdapters::ConnectionManagement, ActiveRecord::QueryCache, ActionDispatch::Cookies, ActionDispatch::Session::CookieStore, ActionDispatch::Flash, ActionDispatch::ParamsParser, Rack::Head, Rack::ConditionalGet, Rack::ETag
Application root          /Users/myname/myrepository/rails_sample/blog
Environment               development
Database adapter          sqlite3
Database schema version   20151005015619

※ bundleのインストール先はvendor/bundleに。rubyのバージョン管理はrbenvを使用しています。

 コンソールの実行結果

% rake greeting:hello
hello world
% bundle exec clockwork config/clock.rb 
I, [2015-10-06T11:00:31.976341 #11613]  INFO -- : Starting clock for 1 events: [ one_minute ]
I, [2015-10-06T11:00:31.976416 #11613]  INFO -- : Triggering 'one_minute'
start
finish
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

同じタグがついた質問を見る

  • Ruby

    8988questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Ruby on Rails

    8397questions

    Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

  • コマンド

    245questions

    コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。