标签: whenever

宝石只有一台机器上有cronjob吗?

我们大量部署了大约十几台服务器.我们想使用Whenever gem,但我无法想办法说出cron作业应该继续使用哪台机器!我们只希望这些作业在我们执行后台作业的服务器上运行.

有没有办法指定这个?

ruby-on-rails whenever

13
推荐指数
1
解决办法
3144
查看次数

如何在Rails ActiveJob中创建日常工作(类似cron)?

我知道这个帖子:rails的cron工作:最佳实践?,但没有提到ActiveJob.我使用ActiveJob做的动机是因为它内置在Rails中,这里是它的文档的摘录:

"这些工作可以是定期清理,计费和邮寄等所有工作."

如何在Rails ActiveJob中创建日常工作(类似cron)?由于我没有看到在其文档中运行定期计划作业的示例.

或者我应该坚持使用whenever宝石?

ruby cron ruby-on-rails whenever

13
推荐指数
2
解决办法
7258
查看次数

每天在不同时间设置每当工作

我正在尝试设置一个应该每天执行2次的Whenever工作,恰好是上午11点和晚上11点.有没有办法只用一个块做到这一点?我的意思是这样的:

every :day, :at => ['11am','11pm'] do
  runner "Task"
end
Run Code Online (Sandbox Code Playgroud)

ruby whenever

12
推荐指数
2
解决办法
1237
查看次数

每当宝石抛出"无法从时间迭代"错误

我正在使用gem来做crone工作,但是当我运行它时:

cd ~/my_project
whenever
Run Code Online (Sandbox Code Playgroud)

我收到错误

/home/tomi/.rvm/gems/ruby-2.0.0-rc1@my_projcet/bundler/gems/rails-d1904aff6f04/activesupport/lib/active_support/core_ext/range/include_range.rb:16:in `each': can't iterate from Time (TypeError)
Run Code Online (Sandbox Code Playgroud)

我在跑

ruby-2.0.0-rc1和rails 3.2.12

ruby-on-rails whenever ruby-on-rails-3 ruby-2.0

11
推荐指数
1
解决办法
2074
查看次数

Rails的cron任务的"delayed_job"真的吗?

delayed_job位于http://github.com/collectiveidea/delayed_job

delayed_job能否执行cron任务?比如每天凌晨1点运行一个脚本.或者每1小时运行一次脚本.

如果没有,有什么合适的宝石可以做到这一点?是否可以使用浏览器远程监控,并记录成功和错误?

cron ruby-on-rails whenever delayed-job

10
推荐指数
2
解决办法
7910
查看次数

如何阻止"随时"宝石创建的cron作业

我正在使用"随时"的宝石并通过以下方式使其工作:

whenever --set environment=production --update-crontab theCronJob
Run Code Online (Sandbox Code Playgroud)

我正在使用的间隔时间是2分钟,因为我还在试图解决它.但是,现在我每隔2分钟在终端窗口收到一封邮件.我猜cron运行并让我知道它.如何阻止我的cron运行?这些消息开始堆积起来.

谢谢

ruby cron gem ruby-on-rails whenever

10
推荐指数
1
解决办法
1万
查看次数

如何正确实现用户设置的时间/频率的重复任务

用户订阅包含最后视频的电子邮件,但他们还设置何时收到这些电子邮件.

Subscription(user_id, frequency, day, time, time_zone)

user_id  |  frequency  |  day    |  time   |  time_zone
1        |  daily      |  null   |  16:00  |  GMT
2        |  weekly     |  friday |  11:00  |  UTC
3        |  weekly     |  monday |  18:00  |  EST
Run Code Online (Sandbox Code Playgroud)

我们如何以用户在其时区选择的确切时间和频率发送电子邮件,而不会搞砸(例如发送双重电子邮件或丢失时间)

唯一的频率是每日和每周,如果每天,那么这一天是空的.

我使用redis作为数据库,让我知道如何以正确的方式做到这一点!

ruby ruby-on-rails whenever redis

10
推荐指数
1
解决办法
3574
查看次数

每当gem schedule.rb文件:不会重新获得RAILS_ROOT变量

在schedule.rb文件中,语句:

require "#{RAILS_ROOT}/config/environment.rb"

 every "10 10 2 * * *" do
      command "mysqldump -u #{@db_username} -p#{@db_password} --single-transaction #{@db_name} > #{@backup_Path}/#{@db_name}.sql 2> log/error_crontab.log"
 end
Run Code Online (Sandbox Code Playgroud)

当我尝试从终端执行每当cmd时,收到以下错误:

 config/schedule.rb:48:in `initialize': uninitialized constant Whenever::JobList::RAILS_ROOT (NameError)
    from /usr/local/lib/ruby/gems/1.9.1/gems/whenever-0.7.0/lib/whenever/job_list.rb:19:in `instance_eval'
    from /usr/local/lib/ruby/gems/1.9.1/gems/whenever-0.7.0/lib/whenever/job_list.rb:19:in `initialize'
    from /usr/local/lib/ruby/gems/1.9.1/gems/whenever-0.7.0/lib/whenever.rb:16:in `new'
    from /usr/local/lib/ruby/gems/1.9.1/gems/whenever-0.7.0/lib/whenever.rb:16:in `cron'
    from /usr/local/lib/ruby/gems/1.9.1/gems/whenever-0.7.0/lib/whenever/command_line.rb:40:in `run'
    from /usr/local/lib/ruby/gems/1.9.1/gems/whenever-0.7.0/lib/whenever/command_line.rb:7:in `execute'
    from /usr/local/lib/ruby/gems/1.9.1/gems/whenever-0.7.0/bin/whenever:38:in `<top (required)>'
    from /usr/local/bin/whenever:19:in `load'
    from /usr/local/bin/whenever:19:in `<main>'
Run Code Online (Sandbox Code Playgroud)

我正在使用require语句从表单中获取动态值以安排作业.请帮忙解决这个问题?

注意:我已经看到了以下stackoverflow查询: 如何在内部检测Rails环境

遵循此线程获取动态值,但面临require语句的问题. Rails - 每当宝石 - 动态值

Ruby/Rails - 每当gem - 循环cron任务

schedule.rb中的配置文件与Rails每当gem?

谢谢,Sudhir CN

ruby-on-rails whenever ruby-on-rails-3

9
推荐指数
2
解决办法
6571
查看次数

可安装的发动机与cron(每当宝石)

是否可以使用cron(通过when gem)直接在可安装的引擎模型上运行任务.我认为cron无法从主应用程序启动,因为可安装引擎应该是隔离的.

我可以在普通的rails应用程序中使用它并且它工作得很好,但我需要以引擎方式运行任务.

谢谢

ruby ruby-on-rails whenever rails-engines

8
推荐指数
1
解决办法
485
查看次数

Bundler 错误 - 即使已安装也无法找到 rake-13.0.1

我有一个 Rails 导入作业,它通过每当 gem 作为 cron 作业设置运行。它一直正常运行,直到我最近更新了该应用程序。现在,当 cron 作业尝试运行时,我们在日志中看到以下错误。如果我手动运行该任务,它将正确运行导入。

/usr/local/lib/ruby/2.6.0/bundler/spec_set.rb:91:in `block in materialize': Could not find rake-13.0.1 in any of the sources (Bundler::GemNotFound)
    from /usr/local/lib/ruby/2.6.0/bundler/spec_set.rb:85:in `map!'
    from /usr/local/lib/ruby/2.6.0/bundler/spec_set.rb:85:in `materialize'
    from /usr/local/lib/ruby/2.6.0/bundler/definition.rb:170:in `specs'
    from /usr/local/lib/ruby/2.6.0/bundler/definition.rb:237:in `specs_for'
    from /usr/local/lib/ruby/2.6.0/bundler/definition.rb:226:in `requested_specs'
    from /usr/local/lib/ruby/2.6.0/bundler/runtime.rb:108:in `block in definition_method'
    from /usr/local/lib/ruby/2.6.0/bundler/runtime.rb:20:in `setup'
    from /usr/local/lib/ruby/2.6.0/bundler.rb:107:in `setup'
    from /usr/local/lib/ruby/2.6.0/bundler/setup.rb:20:in `<top (required)>'
    from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `require'
    from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:130:in `rescue in require'
    from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:34:in `require'
    from /usr/local/bundle/gems/spring-2.1.0/lib/spring/commands.rb:33:in `<module:Spring>'
    from /usr/local/bundle/gems/spring-2.1.0/lib/spring/commands.rb:4:in `<top (required)>'
    from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /usr/local/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /usr/local/bundle/gems/spring-2.1.0/lib/spring/server.rb:9:in `<top …
Run Code Online (Sandbox Code Playgroud)

ruby cron whenever bundler docker

8
推荐指数
1
解决办法
1万
查看次数