【问题标题】:how to execute rake tasks using whenever gem, in amazon aws server in ruby on rails?如何在 ruby​​ on rails 的亚马逊 aws 服务器中使用 gem 执行 rake 任务?
【发布时间】:2016-01-08 06:36:59
【问题描述】:

在我的 Rails 应用程序中,我正在使用无论何时 gem 执行 rake 任务。在开发环境中一切正常,这是以下代码。

 set :environment, "development"
 set :output, {:error => "log/cron_error_log.log", :standard => "log/cron_log.log"}

 every :day, :at => '12:10pm' do
  runner "Employee.assign_shift_policies"
 end 

并在终端中创建一个 crontab 并通过使用 gem iam 运行以下命令来运行该 cron 选项卡文件。

 whenever
 whenever -w 

并且任务正在正确执行。并且这些 rake 任务的输出正确地附加到以下日志文​​件中。

 log/cron_error_log.log
 log/cron_log.log

在开发中一切正常。如何在 amazon aws beanstalk 服务器中运行这些后台作业,意味着如何在 amazon aws 服务器中执行这些 wheneverwhenever -w 命令以生成 crontab 并使用弹性 beanstalk 在 aws 服务器中执行这些作业?

现在,我正在使用任何时候-elasticbeanstalk gem。我在eb-activity.log 文件中收到以下错误。

Command execution failed: Activity failed. (ElasticBeanstalk::ActivityFatalError)
caused by: /var/app/ondeck/vendor/bundle/gems/whenever-elasticbeanstalk-1.1.6/bin/create_cron_leader:10:in `join': no implicit conversion of nil into String (TypeError)
  from /var/app/ondeck/vendor/bundle/gems/whenever-elasticbeanstalk-1.1.6/bin/create_cron_leader:10:in `<top (required)>'
  from /var/app/ondeck/vendor/bundle/bin/create_cron_leader:23:in `load'
  from /var/app/ondeck/vendor/bundle/bin/create_cron_leader:23:in `<main>'
   (ElasticBeanstalk::ExternalInvocationError)

【问题讨论】:

    标签: ruby-on-rails amazon-web-services amazon-s3 amazon-elastic-beanstalk rake-task


    【解决方案1】:

    你有一颗可以做你需要的宝石:

    https://github.com/dignoe/whenever-elasticbeanstalk

    【讨论】:

    • 但是这个 gem 不是更新的。有什么替代品吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-23
    • 2015-02-21
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    • 1970-01-01
    • 2016-01-06
    相关资源
    最近更新 更多