発生している問題・エラーメッセージ
rakeが定期実行が行われない。ローカル環境では動きます。「rake以外の機能は本番環境で正常に動きます。
エラーメッセージ [ec2-user@ip-172-31-41-82 アプリ名]$ rake push_line:push_line_message_morning rake aborted! Mysql2::Error::ConnectionError: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) /var/www/アプリ名/lib/tasks/push.rake:4:in `block (2 levels) in <main>' Tasks: TOP => push_line:push_line_message_morning (See full trace by running task with --trace)
該当のソースコード
* database.yml default: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: <%= ENV['DATABASE_PASSWORD'] %> socket: /tmp/mysql.sock production: <<: *default database: アプリ名_production username: root password: <%= ENV['DATABASE_PASSWORD'] %> socket: /var/lib/mysql/mysql.sock *schedule.rb require File.expand_path(File.dirname(__FILE__) + "/environment") rails_env = ENV['RAILS_ENV'] || :development set :environment, :production env :PATH, ENV['PATH'] set :output, "#{Rails.root.to_s}/log/cron.log" set :job_template, "source $HOME/.zshrc; $(which zsh) -l -c ':job'" job_type :rake, "export PATH=\"$HOME/.rbenv/bin:$PATH\"; eval \"$(rbenv init -)\"; cd :path && RAILS_ENV=:environment bundle exec rake :task :output" every 1.hour do rake 'XXXXX' rake 'YYYYY' end
試したこと
ec2内で[ec2-user@ip-172-31-41-82 kurogane]$ rake XXXX RAILS_ENV=production
と入力すると正常に挙動することは確認できました。
ここに問題に対して試したことを記載してください。
あなたの回答
tips
プレビュー