/ / Cron + kedykoľvek nefunguje s RVM - ruby-on-rails, ruby, cron, rvm, kedykoľvek

Cron + kedykoľvek nepracuje s RVM - ruby ​​na koľajniciach, rubíne, cron, rvm, kedykoľvek

Používam prostredie RVM. Verzia RUby: koľajnice 2.1.2: 4.1.1

schedule.rb :

every 1.minute do
runner "note.send_mail"
end

použil som whenever --update-crontab aktualizovať kartu cron.

keď kontrolujem úlohy pomocou crontab -l zobrazuje sa nižšie, bez správneho času. a cron job nefunguje.

 * * * * * /bin/bash -l -c "cd /Desktop/folder1/blog2 && bin/rails runner -e production """note.send_mail""""

Môže mi niekto pomôcť vyriešiť to? Vďaka!

odpovede:

2 pre odpoveď č. 1

Prejsť na vašu ~/.rvmrc súbor a pridajte nasledujúce:

rvm_trust_rvmrcs_flag=1

potom whenever --update-crontab ešte raz. Podľa README kedykoľvek:

Ak vaše produkčné prostredie používa RVM (RubySprávca verzií), narazíte na gotchu, ktorá spôsobí pozastavenie vašich úloh cron. Toto priamo nesúvisí s programom Whenever a ladenie môže byť náročné. Vaše súbory .rvmrc musia byť dôveryhodné, inak úlohy cron visia a čakajú na dôveryhodnosť súboru. Riešením je deaktivácia výzvy pridaním tohto riadku do súboru rvm používateľa v súbore ~ ​​/ .rvmrc

rvm_trust_rvmrcs_flag = 1

Toto povie rvm, aby dôveroval všetkým súborom rvmrc.

Ak to nefunguje, vyskúšajte ďalšie riešenia uvedené na tejto stránke: Poznámky RVM.


0 pre odpoveď č. 2

Môžete definovať vlastného bežca, ktorý načíta rvm na príkazovom riadku, napríklad

job_type :runner_with_rvm, "source /etc/profile.d/rvm.sh; cd :path;rvm 2.0@gemset do bundle exec script/rails runner -e :environment ":task" :output"

every 1.minute do
runner_with_rvm "Note.send_email"
end

vymeniť 2.0@gemset s požadovanou rubínovou verziou a drahokamom.

Mohlo by to byť /etc/profile.d/rvm.sh je vo vašom prostredí tiež niečo iné.