【发布时间】: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 服务器中执行这些 whenever 和 whenever -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