【问题标题】:How can I run my rails "whenever"/cron tasks on OpenShift?如何在 OpenShift 上“随时”运行 rails/cron 任务?
【发布时间】:2015-08-19 20:42:57
【问题描述】:

当通过 whenever gem 生成任务时,cron 格式的结果行如下所示:

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

现在,当我通过 SSH 连接到 OpenShift 应用程序并尝试执行该 bash 命令以进行测试时,我收到一个错误:

# /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>'

如何确保bin/rails runner 命令实际执行正确?

【问题讨论】:

    标签: ruby-on-rails cron openshift whenever


    【解决方案1】:

    试试

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

    这样它就会在运行命令时使用您捆绑的 gem。

    【讨论】:

      猜你喜欢
      • 2014-11-30
      • 1970-01-01
      • 2018-12-15
      • 2017-09-19
      • 1970-01-01
      • 2014-05-27
      • 2012-12-03
      相关资源
      最近更新 更多