繁体   English   中英

如何使用每当宝石,在红宝石的亚马逊AWS服务器上执行耙任务?

[英]how to execute rake tasks using whenever gem, in amazon aws server in ruby on rails?

我在Rails应用程序中使用每当gem来执行耙任务。 在开发环境中,一切正常,这是以下代码。

 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 Beantalk服务器中运行这些后台作业,意味着如何在亚马逊AWS服务器中whenever执行whenever -w命令以生成crontab并使用弹性beantalk在AWS服务器中执行这些作业?

现在,我正在使用everyday-elasticbeanstalk宝石。 我在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)

您拥有的宝石可以完全满足您的需求:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM