我正在以 rake 任务的形式运行一些基本的持续集成脚本,使用 cron 来自动化它们的运行。
但是,我希望能够在任务之间保持某种形式的状态。我考虑过将信息写入文件并将其读回。
有没有更“红宝石”的方式来做到这一点?
我正在以 rake 任务的形式运行一些基本的持续集成脚本,使用 cron 来自动化它们的运行。
但是,我希望能够在任务之间保持某种形式的状态。我考虑过将信息写入文件并将其读回。
有没有更“红宝石”的方式来做到这一点?
对于这种情况,这是一种非常标准的技术。将其“红宝石”化一点的唯一方法是使用开箱即用的 Gem 为您执行此类操作,尽管为简单的状态保存任务滚动您自己的 Gem 应该不是那么难。
将您的状态序列化为文件非常简单,反序列化以获取重新启动时所需的所有状态信息也是如此。您可以轻松地为此使用 YAML 模块。
话虽如此,使用诸如守护进程之类的东西来管理不时进入睡眠状态的后台进程可能比依靠诸如 cron 之类的东西来启动工作更实用。
还有许多后台作业管理任务委派者,例如 Starling 和 Workling,它们可能是一种更好的方法来一点一点地而不是一次完成集成脚本。