有了一系列rake任务,这些任务应该由whenever转换成cron文件,我想知道为什么拍摄节目指向一个旧版本。
不能断言even以某种方式处于活动状态,即使它被列在gem文件(和相关的锁文件)中,部署在部署中的任何时候也是如此,如下所示:
tar: DEBUG [1f7d4e56] bin/whenever: time stamp 2016-01-08 15:01:20 is 88.787104175 s in the future
更新检查bundle exec whenever -v返回正确的版本。需要在那里的班长..。
Capfile在调用bundler和rails之后包括requ
我正在尝试将添加到我的Rails项目中,我将gem添加到了gem文件中。
gem "whenever", "~> 0.8.4"
并且它的安装没有任何问题。然后,我在生成的schedule.rb文件中添加了一个简单的任务:
set :output, "/home/my_deploy_name/project_name/current/log/cron_log.log"
every 2.minutes do
command "/usr/bin/some_great_command"
runner "My
我有下面的类方法,我通过这个gem调用它。如果我从Rails控制台调用该方法,它可以完美地工作。如果它是从任何cron作业中调用的,那么前两个记录器调用都会出现在日志文件中,所以我知道它是被正常调用的。然而,第三个不是。
将该方法作为cron作业执行似乎可以识别该类,但不能连接到数据库来检索"Message“的各个实例。
任何帮助我们都将不胜感激
def self.check_saved_messages
#Code to test the method with the 'whenever' gem.
my_logger.warn("S
我有一个包含大量任务的应用程序,每天我都想运行一个cron作业,为数据库中的每个任务创建一个DayTask。一个任务has_many DayTasks和这些日间任务是用户每天都要检查的。我使用的是什么时候的gem,但它似乎根本没有运行。有什么想法吗?
配置/调度.rb
every 1.day, :at => "12:01am" do
runner "Task.generate_tasks_for_day"
end
Task.rb
def generate_tasks_for_day
Task.all.each do |task|
无论何时,我都在使用gem来运行rake任务。我在schedule.rb中的代码如下。
every 1.day, :at => '11:00 am' do
rake "notifications:run_mailer"
end
以上代码每天上午11点执行rake任务。现在我想改变这个。我想要基于表列运行这个rake任务。为此,我创建了一个名为scheduler.rb的表和一个列run_at。基于run_at列的日期和时间,我需要运行这个rake任务。怎么做?
我想运行“简单”cron使用任何时候在Windows。所以我每次安装gem install whenever,然后运行我的cron.rb
require 'rubygems'
require 'whenever'
every 1.days, :at => '5:30am' do
command "puts now"
end
但它抱怨说
You don't have i18n installed in your application.
Please add it to your Gemfile an
最近,我看到了以下不使用任何Gem运行cron作业的教程
我在/app/delete_old_posts.rb中创建了一个文件
class DeleteOldPosts < ActiveRecord::Base
# This script deletes all posts that are over 5 minutes old
post_ids = Post.find(:all, :conditions => ["created_at < ?", 5.minutes.ago])
我从来没有做过延迟工作,第一次尝试。
无论何时delayed_job_active_record.和,我都使用因为每当我遵循的指令
gem 'whenever', :require => false
command: wheneverize .
并添加schedule.rb
every 2.minutes do
runner "Page.save_daily_detail" #Page is name of model, and save_daily_detail put some entries in database
end
比
whenever
我正在使用出色的CronEdit gem为Ruby编写一个web前端。我查看了Dillon的crontab源代码,发现它更新了一个特定的文件,以便守护进程在下一次扫描时刷新cron列表。
在VixieCron的man中,它说:
Additionally, cron checks each minute to see if its spool directory’s modtime (or the modtime on /etc/crontab) has changed, and if it has, cron will then examine the modtime on
我在Ubuntu14.04上的Docker容器中有一个Rails应用程序。我使用Dokku设置了我的部署,但我不知道如何使我的cron工作正常工作。
目前,我使用的是,它允许我做一些简单的事情,比如:
every 5.minutes do
runner 'MyModel.run_something'
end
问题在于,每次使用git push dokku master进行部署时,它都会重置容器并将其设置为默认设置,从而删除所有cron计划。
因此,我想,可能cron调度需要在容器之外,而不是在VM级别。
目前,无论我做什么,我都不会看到任何cron作业在运行。下面是当我运行
我正在使用,无论何时创业板安排一些工作在我的网站。目前我正在从事开发环境方面的工作。
我按向导的建议安装了宝石。
在schedule.rb
every 2.minutes do
rake "vip_recomend:give"
end
在lib/tasks/vip_recomend.rake中
namespace :vip_recomend do
desc "Give vip recomend to ads that are in waiting list"
task give: :environment do
我有一个rake任务,当我从应用程序目录中的命令行运行它时,它工作得很好,但是当cron运行它时,它会输出以下错误:
/var/lib/gems/2.6.0/gems/bundler-1.17.3/lib/bundler/spec_set.rb:91:in `block in materialize': Could not find spring-2.1.0 in any of the sources (Bundler::GemNotFound)
from /var/lib/gems/2.6.0/gems/bundler-1.17.3/lib/bundler/spec_set.
在阅读本文之前,请理解我对cron的概念是完全陌生的,所以这对我来说很难。我随时随地捆绑安装了gem。然后我跑了
wheneverize .
没有错误。schedule.rb已创建。运行以下命令时,我有一个名为scheduled_scrape.rb的文件
ruby script/scheduled_scrape.rb
它工作得非常好。我在我的schedule.rb中输入了以下几行
every 1.minutes do
command "ruby script/scheduled_scrape.rb" #later on it'll be half an hour,