Railsアプリでバックグラウンドタスクを定期的に実行する必要があります。私はいくつかの調査を行いましたが、これを行うための標準的な方法はないようです。
新しいアプリコンテキストを生成したくないので、ランナーは問題外のようです。必要がなければ、自分のスレッドハンドラーを実行したくないです。(これは、以下以外の現時点で最も有望なオプションのようです)。
いつでもgemを使用して、schedule.rbで次のことを行っています。
every 15.minutes do
command "curl http://127.0.0.1:3000/periodic"
end
これは少しハックのように感じますが、これよりも簡単なものは見つかりません。他に見つけることができるものはすべて、一見基本的なものに多大な労力を費やしているようです。
これは内部プロジェクトであり、ファイアウォールとヘッドレス自動ミドルウェアの背後にあるため、ユーザーがこのプロジェクトに直接アクセスする可能性は低いことに注意してください。
私は何かが足りないのですか、それともバックグラウンド処理や時限イベントは本当にレールで箱から出してサポートされていないのですか?