2015-08-19 1 views
1

Lors de la génération des tâches via le chaque fois joyau, la ligne résultant en Cron le format ressemble à ceci:Comment puis-je exécuter mes rails "à chaque fois"/tâches cron sur OpenShift?

0 13 30 * * /bin/bash -l -c 'cd $OPENSHIFT_REPO_DIR && bin/rails runner -e production "puts \"test\""' 

Maintenant, quand je SSH dans l'application OpenShift et essayer d'exécuter cette commande bash pour les tests fins, je reçois une erreur:

# /bin/bash -l -c 'cd $OPENSHIFT_REPO_DIR && bin/rails runner -e production' 
/opt/rh/ruby200/root/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:53:in `require': cannot load such file -- bundler/setup (LoadError) 
     from /opt/rh/ruby200/root/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:53:in `require' 
     from /var/lib/openshift/$APP_ID/app-root/runtime/repo/config/boot.rb:6:in `<top (required)>' 
     from /opt/rh/ruby200/root/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:53:in `require' 
     from /opt/rh/ruby200/root/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:53:in `require' 
     from bin/rails:9:in `<main>' 

Comment puis-je assurer la commande bin/rails runner pour exécuter réellement correcty?

Répondre

2

Essayez

/bin/bash -l -c 'cd $OPENSHIFT_REPO_DIR && bundle exec bin/rails runner -e production' 

Alors qu'il utilisera vos gemmes empaquetés lors de l'exécution des commandes.

+0

Parfait. Merci. – user569825