我有一个 Rails 应用程序,有时需要长时间导入新数据。在此导入运行时,用户不应执行任何“写入”任务(即创建新项目等)。导入作业正在通过 DelayedJob 运行
所以基本上我需要后台任务来做到这一点:
1) 将应用程序状态设置为“正在导入 - 应用程序现在是只读的”
2) 运行导入
3) 将应用程序状态设置为“一切就绪 - 应用程序现在再次正常运行”
简单地说 - 只是一个布尔标志,但是一个应该在所有进程中全局可用的标志。问题是:实现这一点的最佳实践是什么?
我可以轻松地创建一个名为 ApplicationState 的 ActiveRecord 模型,并将此标志作为一个字段。然而,这似乎有点矫枉过正。
因此,任何替代方案将不胜感激。
/ 卡斯滕