J'ai réussi à obtenir un emploi cron pour exécuter une tâche de râteau en procédant comme suit:tâche de coupe par rubygems de chargement de problème cron
cd /home/myusername/approotlocation/ && /usr/bin/rake sendnewsletter RAILS_ENV=development
j'ai vérifié avec which ruby
et which rake
pour vous assurer que les chemins sont corrects (de bash)
le travail ressemble il veut courir que je reçois le message suivant du démon cron quand il complète
Missing these required gems:
chronic
whenever
searchlogic
adzap-ar_mailer
twitter
gdata
bitly
ruby-recaptcha
You're running:
ruby 1.8.7.22 at /usr/bin/ruby
rubygems 1.3.5 at /home/myusername/gems, /usr/lib/ruby/gems/1.8
Run `rake gems:install` to install the missing gems.
(in /home/myusername/approotlocation)
mon Cust fichier râteau om dans les lib/tâches est la suivante:
task :sendnewsletter => :environment do
require 'rubygems'
require 'chronic'
require 'whenever'
require 'searchlogic'
require 'adzap-ar_mailer'
require 'twitter'
require 'gdata'
require 'bitly'
require 'ruby-recaptcha'
@recipients = Subscription.all(:conditions => {:active => true})
for user in @recipients
Email.send_later(:deliver_send_newsletter,user)
end
end
avec ou sans exiger que les envois, il me donne toujours la même erreur ...
quelqu'un peut-il faire la lumière sur ce sujet? ou bien me conseiller sur la façon de créer un fichier personnalisé dans le répertoire de script qui exécutera cette fonction (je l'ai déjà une tâche cron de travail qui se déroulera et traiter tous mes delayed_jobs.
Après suggestion Jonathans ci-dessous j'ai couru
env
comme tâche cron lui-même et a reçu la sortie suivante:
SHELL=/bin/sh
MAILTO=myemailaddress
USER=myusername
PATH=/usr/bin:/bin
PWD=/home/myusername
SHLVL=1
HOME=/home/myusername
LOGNAME= myusername
_=/usr/bin/env
-t cela signifie qu'il ne charge pas correctement les fichiers ruby? .... a également pris des conseils Jonathans et produit le fichier suivant cron.sh
#!/bin/sh
date
echo "Executing Matenia Rake Task"
PATH=/usr/bin:/bin
cd /home/myusername/approotlocation/
rake sendnewsletter
obtenir encore les pierres précieuses manquantes ... remarquent Cheers!
Il y avait beaucoup de difficulté dans la mise à jour du fichier avec l'insertion de texte où il n'aurait pas dû être ... ne peut pas terminer cette option malheureusement ... merci d'essayer :) –
Je pense toujours que c'est un problème de chemin, en utilisant/usr/bin et/bin est un chemin assez petit et étroit. De votre shell tapez echo $ PATH et voici ce que vous devriez faire le chemin. – kSiR
yeh j'ai mis cela dans le fichier cron.sh je voulais courir pour faire la rake task .. mais malheureusement, il ne veut pas charger les gemmes installées des applications ... il me manque quelque chose de si simple ... –