每当gem在Capistrano部署期间只在生产(而不是临时)上编写crontab时,我如何让Rails(javan)



多年来,无论何时的宝石在生产中对我来说都非常棒。我的项目现在已经足够大了,需要一个登台环境,而Capistrano已经毫不费力地做到了这一点。然而,有一件事我无法解决,那就是阻止每当gem在暂存服务器上写入cron条目。

我已经断断续续地搜索了好几个星期的答案,还做了其他事情,我尝试了博客和其他SO帖子中的大约6种不同的技巧。我在GitHub上创建了一个关于文档中建议的一件事的问题:;名称空间";CCD_ 1文件。我对那句话的解释毫无作用。SO上的所有引用似乎都是关于gemNOT编写crontab条目的。我的问题是它写得太多了!

与其在这个特定的问题上陷入困境,我想也许我会直接问这个问题。当然,人们正在这样做。从这样一个过程中想要将工作与各种环境联系起来似乎是一件显而易见的基本事情。但是,正如我所说,我所尝试的一切都失败了,我仍然只能在暂存中使用适合生产的crontab条目。

实施环境特定工作的最干净的方法是什么?

我们传递一个环境变量来划分哪些作业在哪个服务器环境上运行。

env = @environment
if env == 'production'
# a bunch of scheduled tasks
end

最新更新