Cześć,
Mam problem związany z wykonywaniem poleceń w cron. Zainstalowałem sobie gema whenever i ustawiłem sobie w config/schedule.rb zadanie. Niestety nie po wpisaniu czy to
whenever --update-crontab
czy też
whenever -w
i ustawieniu zadania co minutę nie wykonuje się nic.
Plik schedule.rb wygląda tak:
job_type :rbenv_rake, %Q{export PATH=/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:/usr/bin:$PATH; eval "$(rbenv init -)"; \
cd :path && :environment_variable=:environment :bundle_command rake :task --silent :output }
job_type :rbenv_runner, %Q{export PATH=/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:/usr/bin:$PATH; eval "$(rbenv init -)"; \
cd :path && :bundle_command :runner_command -e :environment ':task' :output }
set :output, "/home/michal/cron_log.log"
every 1.minute do
rbenv_rake 'mail_sending:sending_mails_before', environment: 'development'
end
Natomiast zadanie w crontab wygląda tak:
# Begin Whenever generated tasks for: /home/michal/projects/atelier/atelier_june_2018/config/schedule.rb at: 2018-08-23 02:03:14 +0200
* * * * * /bin/bash -l -c 'export PATH=/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:/usr/bin:$PATH; eval "$(rbenv init -)"; cd /home/michal/projects/atelier/atelier_june_2018 && RAILS_ENV=development bundle exec rake mail_sending:sending_mails_before --silent >> /home/michal/cron_log.log 2>&1'
# End Whenever generated tasks for: /home/michal/projects/atelier/atelier_june_2018/config/schedule.rb at: 2018-08-23 02:03:14 +0200
stworzyłem sobie plik cron_log.log, żeby zobaczyć jaki jest output i otrzymałem coś takiego:
/bin/bash: bundle: command not found
Oczywiście po wpisaniu w konsoli komendy
bin/bash -l -c 'export PATH=/home/deploy/.rbenv/shims:/home/deploy/.rbenv/bin:/usr/bin:$PATH; eval "$(rbenv init -)"; cd /home/michal/projects/atelier/atelier_june_2018 && RAILS_ENV=development bundle exec rake mail_sending:sending_mails_before --silent'
zadanie się wykonuje.
Czy wiecie może, co w takim wypadku jest problemem?
Czy przyczyną może być to, że w projekcie mam inną wersję rubyego niż globalnie?
Bardzo proszę o pomoc. Jeżeli coś jest nie jasne to pytajcie.
Pozdrawiam