我在Sinatra应用程序中使用whenever来创建cron作业。我使用whenever/capistrano,以便在部署时创建/更新作业。这是我的部署脚本的每次设置:
require 'whenever/capistrano'
set :environment_variable, 'RACK_ENV'
set :whenever_roles, ->{ :app }
set :whenever_command, ->{ [:bundle, :exec, :whenever] }
set :whenever_command_e
在我们的暂存服务器上,我们在生产环境中运行Rails应用程序,以便尽可能地与我们的生产服务器相似。我们使用任何时候创建crontab。然而,我们需要运行一个稍微不同的rake任务,为我们的站点地图一代,以便它不平谷歌和必应。
在deploy.rb中,我们有:set :stages, %w(production staging),但是在deploy/staging.rb和deploy/production.rb中我们都有:rails_env, "production"集,所以我不能使用Rails.env。
在schedule.rb中,我想做这样的事情:
every :day, a
是否有任何方法在特性文件中声明变量,然后在黄瓜测试中使用?就像这样:
myFile.feature
Given whenever a value is 50
myFile.java
@Given("^whenever a value is 50$")
public void testing(value) {
assertEqual(value, 50);
}
老实说,我甚至不知道这会是什么样子。但是,我希望不必在特性文件和Cucumber测试中声明一个值。谢谢!
根据whenever_roles文档,可以指定一组whenever_roles ()。现在,我想在schedule.rb中定义一组cron作业,并根据它们的角色来划分它们,如下所示:
set :output, "log/cron.log"
every :day, at: '11:00', roles: :whenever_alt do
runner 'MySuperScriptClass1.start'
end
every :day, at: '12:30', roles: :whenever_main do
runn
我正在使用处理crone作业,但是当我运行它时:
cd ~/my_project
whenever
我得到了错误
/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)
我在跑步
ruby-2.0.0-rc1和rails 3.2.12
我有一本很长的字典,我不想把它和我的程序放在同一个文件里。我试着访问字典,但发现了一个错误:
Traceback (most recent call last):
File "C:\Users\....\OneDrive\Documents\python\atom\datesandtimes.py", line 22, in <module>
elif whenever in get_close_matches(whenever, dict.keys()):
AttributeError: 'str' object has no attrib
我正在尝试将添加到我的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
我有以下schedule.rb
every 1.minute do
runner "User.persist_things"
end
但是查看我的log/cron.log文件,输出如下所示:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- bundler/setup (LoadError)
from /S
下面的代码尝试对一个Supply作出反应,然后根据某些消息的内容,改变它的想法,并对来自不同Supply的消息做出反应。这是一种尝试提供类似于的行为,但有更多的控制。
my $c1 = Supplier.new;
my $c2 = Supplier.new;
my $s = supply {
my $currently-listening-to = $c1.Supply;
my $other-var = 'foo';
whenever $currently-listening-to {
say "got: $_";
我正在尝试实现gem“任何时候”,这样我就可以每天运行自动任务。
这是我的schedule.rb文件:
env :PATH, ENV['PATH']
set :output, "log/cron_log.log"
every :day, at: '10:10 am' do
runner "Task.new.get_drivers"
end
every :day, at: '10:15 am' do
runner "Task.new.get_deliveries"
end
every :
在阅读本文之前,请理解我对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,
你好,我试图每5分钟运行一次rake任务,使用这个调度代码,使用whenever
set :output, "#{path}/log/cron.log"
every 10.minutes do
rake "delete:old_offers"
end
但代码永远不会执行。如果我试图使用以下方法运行任务:
rake delete:old_offers
一切都很好,所以问题就在计划文件中。请帮我解决这个问题。
我计划在我的heroku应用程序中每60天执行一次这个任务,这样我就可以在heroku上执行这个任务了。
提前谢谢。
更新
对不起,伙计们,我
我想对每个用户的信息执行一些维护,但我希望它只发生在每个用户的时区午夜左右。用户的表有一个默认为东方的time_zone列。
到目前为止,设置了以下rake任务,每小时运行一次:
task update_user_stuff: :environment do
users = []
User.all.each do |user|
b = Time.now - 29.minutes
e = Time.now + 30.minutes
if (b..e).cover?(Time.now.in_time_zone(user.time_zone).beginning_of
我正在使用capistrano部署我的Rails 3应用程序。
我有一个已经被添加到sudoers的用户(部署)。这就是我要部署的用户。
当我以deploy身份登录到服务器时,我可以访问我需要的所有gem命令:.ie、任何时候等等。
Capistrano似乎正在以sudo运行,当我尝试的时候:
sudo whenever
我得到了
sudo: whenever: command not found
这意味着每次我尝试部署时,它都会失败并回滚。
我尝试在我的deploy.rb文件中将:use_sudo设置为false,但仍然没有成功
set :user, "deploy"
set
我试图在亚马逊EC2上设置CRON作业,在任何时候使用 gem。在schedule.rb中如下所示:
set :output, "/home/my_deploy_name/my_deploy_name/current/log/cron_log.log"
every 2.minutes do
puts "It's working !!!"
end
在deploy.rb中:
...
set :whenever_command, "bundle exec whenever"
require "whenever/capist
下面是我的ViewModel类的测试代码。我的应用架构是基于MVI的。基本上,我是在嘲弄我的回购和国家课程。在下面编写的测试函数中,当我成功地从API加载新闻列表时,我试图检查状态是否按正确的顺序更改。
class NewsListViewModelTest {
//...
@get:Rule
val testSchedulerRule = RxTestSchedulerRule()
private lateinit var testSubject: NewsListViewModel
private val loadingState =
我希望每当用户滚动我的网页时,“生活在极乐世界”应该被绘制。我已经成功地画出了L,但不确定如何才能与其他元素搭配。我尝试使用多个svg,但没有给出所需的输出。以下是我的代码:
// Get the id of the <path> element and the length of <path>
var triangle = document.getElementById("triangle");
var length = triangle.getTotalLength();
// The start positio