草庐IT

分布式任务调度

全部标签

ruby - 在 rake 任务中提问

我有一个从另一个rake任务调用的rake任务。在这个rake任务中,我需要询问用户一些文本输入,然后根据答案继续,或者停止一切继续(包括调用rake任务)。我该怎么做? 最佳答案 task:input_testdoinput=''STDOUT.puts"Whatistheairspeedvelocityofaswallow?"input=STDIN.gets.chompraise"bah,humbug!"unlessinput=="anafricanoreuropeanswallow?"endtask:blah_blah=>:in

ruby-on-rails - rake 任务中的 def block

我通过以下rake任务获得了main:Object的未定义局部变量或方法“address_geo”。它有什么问题?includeGeokit::Geocodersnamespace:geocodedodesc"Geocodetogetlatitude,longitudeandaddress"task:all=>:environmentdo@spot=Spot.find(:first)if@spot.latitude.blank?&&!@spot.address.blank?putsaddress_geoenddefaddress_geoarr=[]arr 最

ruby-on-rails - 在 rake 任务期间关闭观察者的简单方法?

我在我的应用中使用了restful_authentication。我正在使用rake任务创建一组默认用户,但每次我运行任务时都会发送一封激活电子邮件,因为观察者与我的用户模型相关联。我在创建用户时设置了激活字段,因此不需要激活。有人知道在运行rake任务时绕过观察者的简单方法,这样当我保存用户时就不会发送电子邮件吗?谢谢。 最佳答案 Rails3.1终于为此提供了API:http://api.rubyonrails.org/v3.1.0/classes/ActiveModel/ObserverArray.html#method-i-

ruby-on-rails - 如何找到 rake 任务的源文件?

我知道您可以通过键入查看所有可能的佣金任务rake-T但我需要知道任务的具体作用。从输出中,如何找到实际具有任务的源文件?例如,我正在尝试查找db:schema:dump任务的源。 最佳答案 我知道这是一个老问题,但无论如何:rake-W这是在rake0.9.0中引入的。http://rake.rubyforge.org/doc/release_notes/rake-0_9_0_rdoc.htmlSupportforthe–where(-W)flagforshowingwhereataskisdefined.

ruby-on-rails - 我如何在 rake 任务中强制使用 RAILS_ENV?

我有这个小佣金任务:namespace:dbdonamespace:testdotask:resetdoENV['RAILS_ENV']="test"Rake::Task['db:drop'].invokeRake::Task['db:create'].invokeRake::Task['db:migrate'].invokeendendend现在,当我执行时,它将忽略我尝试硬编码的RAILS_ENV。我如何使这个任务按预期工作 最佳答案 对于这个特定的任务,您只需要更改数据库连接,正如Adam指出的那样,您可以这样做:namesp

ruby - 如何明确地使 ruby​​ rake 中的任务失败?

假设我有一个这样的rakefile:file'file1'=>some_dependenciesdosh'externaltoolIdonothavecontrolover,whichsometimesfailtocreatethefile'???endtask:default=>'file1'doputs"everything'sOK"end现在,如果我不放置任何内容来代替???,即使外部工具无法生成文件,我也会收到OK消息。什么是通知rake的正确方法,'file1'任务失败了,它应该中止(希望呈现一个有意义的消息——比如哪个任务失败了)——我现在唯一能想到的就是在那里引发异常,但

ruby - 如何获取当前rake任务的PID?

我将收割机线放入rake任务中,以杀死一些额外生成的ruby​​任务,因为它们有时会不知何故爬上来。system"psaux|grep'namespace:taskname'|grepruby|grep-vgrep|awk'{print$2}'|xargskill-9;echo'Reapedoldnamespace:tasknameprocesses.'"我想在其中添加grep-v$PID_OF_CURRENT_TASK以确保我不会终止当前正在运行的任务。我如何获得该PID? 最佳答案 您可以使用Process.pid在Ruby中获

ruby-on-rails - 从迁移中执行 Rake 任务?

我有一个Rake任务将配置数据从文件加载到数据库中,是否有正确的ruby​​/rails方法在迁移时调用它?我的目标是同步我的团队数据库配置,无需广播然后运行任务lalaladefself.upchange_table:fis_situacao_fiscaldo|t|t.remove:mostrar_enderecot.rename:serie,:modeloendFaturamento::Cfop.destroy_all()#performrakehere!end更新我现在的工作方式和工作方式:system('rakesistema:load_datafile=faturamento

ruby - 在 Rspec 测试中运行 Rake 任务

我正在构建一个集成测试套件,我需要一个干净的数据库来处理一些逻辑。如何在我的一个测试中运行db:test:purge任务?我正在使用:ruby1.9.2、rails3.0.9、rspec2.6 最佳答案 您可以按如下方式调用Rake任务:require'rake'Rake::Task[name].invoke在这种情况下,这将导致以下代码:require'rake'Rake::Task['db:test:purge'].invoke 关于ruby-在Rspec测试中运行Rake任务,我们

ruby - 如何在 Ruby 脚本中运行 Rake 任务?

我有一个Rakefile,其中包含我通常从命令行调用的Rake任务:rakeblog:postTitle我想编写一个多次调用Rake任务的Ruby脚本,但我看到的唯一解决方案是使用``(反引号)或system进行处理。正确的做法是什么? 最佳答案 来自timocracy.com:require'rake'defcapture_stdouts=StringIO.newoldstdout=$stdout$stdout=syields.stringensure$stdout=oldstdoutendRake.application.rak