メールやユーザー通知の遅延など、さまざまなデータベース タスクを実行するカスタム デーモンを作成しようとしています (各通知は通知テーブルの個別の行です)。script/runner
これらのタスクを使用したり実行したりしたくありませんrake
。タスクによっては、1 つまたは 2 つのデータベース行または数千行の作成しか必要としないタスクもあるからです。Ruby プロセスを起動したり、操作ごとに Rails フレームワーク全体をロードしたりするオーバーヘッドは必要ありません。このデーモンを常にメモリに保持する予定です。
このデーモンを作成するには、Ruby on Rails アプリケーションのモデルを使用したいと考えています。モデルをどこで使用する場合にロードする必要があるかなど、多くの Rails プラグインacts_as_tree
があります。AASM
ロードする必要があるプラグインのいくつかは、私が作成した ActiveRecord::Base のカスタム ハックです。(レールの他の部分からのコンポーネントが必要な場合は、プラグインの一部の削除または再コーディングを喜んで受け入れます。)
私の質問は
- これは良い考えですか?
- そして - モデルとプラグインに各ファイルを手動で含める必要がない方法でこれを行うことは可能ですか?
良い考えでなければ
- 良い代替手段は何ですか?
(私は自分で SQL クエリを書くのは好きではありませんが、愚かな事故を防ぐために、データベースの制約とデーモン用の別のユーザーを追加する必要があります。データベースの構成に慣れていないので、アクティブ レコードを使用したいと思います。松葉杖として。)