草庐IT

工作任务

全部标签

ruby-on-rails - 您使用 Rails 进行版本控制和部署的工作流程是什么?

尤其是在考虑新的Rails项目时,您的版本控制和部署工作流程是什么样的?你使用什么工具?我对Mac、*nix和Windows工作机器的答案很感兴趣。假设一个*nix服务器。如果需要,我会为清楚起见进行编辑。 最佳答案 使用预装的插件和卡住的gem创建我的个人Rails2.1.1模板的副本。更改数据库密码、session密码/名称和deploy.rb。根据需要在GitHub上创建私有(private)或公共(public)存储库。将空的Rails项目推送到GitHub。SSH到服务器并配置apache(从旧项目复制虚拟主机文件和mon

ruby - 如何阻止上帝留下陈旧的 Resque 工作流程?

我正在尝试了解如何监控travis-ci的resqueworker|与god以这样一种方式停止resquewatchviagod不会留下陈旧的工作进程。在下文中,我谈论的是工作进程,而不是fork作业子进程(即队列一直是空的)。当我像这样手动启动resqueworker时:$QUEUE=buildsrakeresque:work我会得到一个进程:$psx|grepresque7041s001S+0:05.04resque-1.13.0:Waitingforbuilds一旦我停止工作任务,这个过程就会消失。但是当我开始与上帝(exactconfigurationishere,基本上与re

ruby-on-rails - rails 周期性任务

我有一个ruby​​onrails应用程序,我试图在其中找到每隔几秒运行一些代码的方法。我发现了很多使用cron或类似cron的实现的信息和想法,但这些只是准确到分钟,并且/或需要外部工具。我想每15秒左右启动一次任务,并且我希望它完全独立于应用程序中(如果应用程序停止,任务也停止,并且没有外部设置)。这用于缓存数据的后台生成。每隔几秒,任务就会收集一些数据,然后将其存储在缓存中,供所有客户端请求使用。该任务非常慢,因此需要在后台运行并且不阻塞客户端请求。我是ruby​​的新手,但有很强的perl背景,我解决这个问题的方法是创建一个间隔计时器和处理程序,它fork、运行代码,然后在完成

ruby - 如何以编程方式一次运行多个 Rake 任务?

在命令行我可以像这样运行多个任务rakeenvironmenttask1task2task3我如何以编程方式执行此操作?我知道我可以像这样运行一项任务Rake::Task['task1'].invoke 最佳答案 你可以调用两个任务:require'rake'task:task1do|t|ptendtask:task2do|t|ptendRake::Task["task1"].invokeRake::Task["task2"].invoke我更喜欢有先决条件的新口味:require'rake'task:task1do|t|ptend

ruby - 内省(introspection)模块类时 "#map(&proc)"习惯用法如何工作?

呈现成语我找到了一个interestingbutunexplainedalternative到一个公认的答案。该代码在REPL中显然有效。例如:moduleFooclassBardefbazendendendFoo.constants.map(&Foo.method(:const_get)).grep(Class)=>[Foo::Bar]但是,我并不完全理解这里使用的成语。特别是,我不明白&Foo的用法,它似乎是某种闭包,或者#grep的这种特定调用如何对结果进行操作。解析成语到目前为止,我已经能够解析其中的点点滴滴,但我并没有真正看到它们是如何组合在一起的。以下是我认为对示例代码的理

ruby - 如何将参数从父任务传递到 Rake 中的子任务?

我正在编写一个Rake脚本,其中包含带参数的任务。我弄清楚了如何传递参数以及如何使任务依赖于其他任务。task:parent,[:parent_argument1,:parent_argument2,:parent_argument3]=>[:child1,:child2]do#PerformParentTaskFunctionalitiesendtask:child1,[:child1_argument1,:child1_argument2]do|t,args|#PerformChild1TaskFunctionalitiesendtask:child2,[:child2_argum

ruby - 如何在 rake 任务的字符串参数中使用逗号?

我有以下Rakefile:task:test_commas,:arg1do|t,args|putsargs[:arg1]end并希望使用包含逗号的单个字符串参数来调用它。这是我得到的:%rake'test_commas[foo,bar]'foo%rake'test_commas["foo,bar"]'"foo%rake"test_commas['foo,bar']"'foo%rake"test_commas['foo,bar']"'foo%rake"test_commas[foo\,bar]"foo\我目前正在使用此pullrequesttorake中提出的解决方法,但有没有办法在不修

Ruby 元编程,RSpec 的 'should' 是如何工作的?

我正在阅读RSpec,并试图弄清楚RSpec的“应该”是如何实现的。有人可以介绍一下这个函数的元性质是如何工作的吗?代码位于:http://github.com/dchelimsky/rspec/blob/master/lib/spec/expectations/extensions/kernel.rbTIA,-丹尼尔澄清:target.should==5target的值是如何传递给“should”的,而“should”又是“==”而不是5? 最佳答案 看看classOperatorMatcher.这一切都归结为Ruby允许您省略句

ruby-on-rails - 如何运行使用我的 Rails 模型的 Ruby 任务?

我有一个带有一些基本模型的Rails应用程序。该网站显示从其他来源检索的数据。所以我需要编写一个Ruby脚本来在我的数据库中创建新实例。我知道我可以使用测试Hook来做到这一点,但我不确定这在这里是否有意义。我不确定这个任务应该是什么样子,我如何调用它,或者它应该在我的源代码树中的什么位置(lib\tasks?)。例如,这是我的第一次尝试:require'active_record'require'../app/models/mymodel.rb'test=MyModel.newtest.name='test'test.save这失败了,因为它无法连接到数据库。这对我的新手来说意义不大

ruby - 检查 C 编译器是否工作...不

我最近卸载了Xcode4.2并重新安装了Xcode4.3.1。还安装了命令行工具。错误显示“C编译器不工作”。在搜索这个错误时,它说它发生在没有安装Xcode的情况下。我错过了什么?rvminstall1.9.3--with-gcc=clangInstallingRubyfromsourceto:/Users/ava/.rvm/rubies/ruby-1.9.3-preview1,thismaytakeawhiledependingonyourcpu(s)...ruby-1.9.3-preview1-#fetchingruby-1.9.3-preview1-#extractingrub