0

Railsアプリでバックグラウンドタスクを定期的に実行する必要があります。私はいくつかの調査を行いましたが、これを行うための標準的な方法はないようです。

新しいアプリコンテキストを生成したくないので、ランナーは問題外のようです。必要がなければ、自分のスレッドハンドラーを実行したくないです。(これは、以下以外の現時点で最も有望なオプションのようです)。

いつでもgemを使用して、schedule.rbで次のことを行っています。

every 15.minutes do
    command "curl http://127.0.0.1:3000/periodic"
end

これは少しハックのように感じますが、これよりも簡単なものは見つかりません。他に見つけることができるものはすべて、一見基本的なものに多大な労力を費やしているようです。

これは内部プロジェクトであり、ファイアウォールとヘッドレス自動ミドルウェアの背後にあるため、ユーザーがこのプロジェクトに直接アクセスする可能性は低いことに注意してください。

私は何かが足りないのですか、それともバックグラウンド処理や時限イベントは本当にレールで箱から出してサポートされていないのですか?

4

1 に答える 1

0

いくつかの調査の後、アマダンのレールタイの提案は、私がここで望むものを得るかもしれません. 理想的な解決策としては完全ではありませんが、コンテキスト (公開されている Rails プロジェクトなど) によっては、これが適切な方法です。私が取り組んでいるプロジェクトでは、ファイアウォールの背後にユーザー入力がなく、ヘッドレスで実行される2つのシステム間のブリッジであるレールアプリを実行しているため、少し面倒です。

于 2012-12-14T16:54:09.997 に答える