我正在寻找创建一个自定义守护程序,它将运行各种数据库任务,例如延迟邮件和用户通知(每个通知都是通知表中的单独行)。我不想使用script/runner
或rake
执行这些任务,因为某些任务可能只需要创建一两个数据库行或数千行,具体取决于任务。我不希望启动 ruby 进程或为每个操作加载整个 rails 框架的开销。我计划将这个守护进程全时保留在内存中。
为了创建这个守护进程,我想使用我的 ruby on rails 应用程序中的模型。我有许多 Rails 插件,acts_as_tree
如果AASM
我在哪里使用模型,我需要加载它们。我需要加载的一些插件是我创建的 ActiveRecord::Base 上的自定义 hack。(如果他们需要来自 rails 其他部分的组件,我愿意接受删除或重新编码一些插件。)
我的问题是
- 这是一个好主意吗?
- 并且 - 这是否可能以一种不需要我手动将每个文件包含在我的模型和插件中的方式来完成?
如果不是个好主意
- 什么是好的选择?
(我不反对编写自己的 SQL 查询,但我必须为守护进程添加数据库约束和单独的用户,以防止任何愚蠢的事故。鉴于我不熟悉配置数据库,我想使用活动记录作为拐杖。)