使用Rake任务时保持持久性

时间:2009-06-10 18:50:44

标签: ruby persistence rake state

我正在以rake任务的形式运行一些基本的持续集成脚本,使用cron自动运行它们。

我希望能够在任务之间保持某种形式的状态。我考虑过只是将信息写入文件并重新阅读。

是否有更“红宝石”的做法?

1 个答案:

答案 0 :(得分:3)

对于这种情况,这是一种非常标准的技术。将红宝石“稍微”起来的唯一方法就是利用宝石为你开箱即可做到这一点,尽管为了一个简单的状态保存任务而滚动自己不应该那么难。

将状态序列化为文件非常简单,反序列化以获取重新启动时所需的所有状态信息。您可以轻松地使用YAML模块。

话虽这么说,使用像守护进程这样的东西来管理后来睡觉的后台进程比依靠像cron这样的东西来开始工作更为实际。

还有许多后台作业管理任务委托人,比如Starling和Workling,这可能是一种更好的方法,可以一点一点地进行集成脚本,而不是一次性完成。