0

我正在使用为我生成 cron 行的“无论何时”gem。

0 5 * * * /bin/bash -l -c 'cd /projects/my_rails && rails runner -e development "Indexing::LikeIndexer.index_deltas"'

(上面的 cron 仅用于测试,不会在生产中频繁运行 =))

这个和其他 crons(如 thinking_sphinx)需要加载整个 rails 环境才能执行代码。(Rails cron 与任何时候,设置环境

是否有任何 gem 可以运行我的 rails 环境并允许它执行代码而无需重新加载整个环境?

我试图用 spin 解决这个问题,但是当我将文件传递给它时,spin 似乎无法识别我的模型。

4

1 回答 1

2

您意识到您的示例每天早上 5 点运行。如果您无法每天重新加载环境一次,您可能会遇到比您尝试修复的问题更大的问题 :)

关于您的问题,不重新加载环境的唯一方法是让进程在加载了环境的情况下留在内存中,然后分叉自己来完成这项工作。这就是spork加快测试速度的想法。

我觉得你的问题有点过分了。

您也可以不依赖于工作环境来执行 rake 任务,或者执行控制器操作并 cron 执行 curl 命令(当然还有某种身份验证机制)

于 2012-06-30T18:59:44.147 回答