1

私が開発しているアプリケーションには、ユーザー入力から完全に分離されたビジネス ロジックを処理するための無限ループが必要です (ユーザーはそれを表示するだけです)。これは従来の MVC からの脱却であるため、Active Job を配置するのが適していると考えました。

ループ内のロジックは、同じネットワーク上のマイクロコントローラーをポーリングします。これらのコードを変更する能力はほとんどないため、使用している独自のプロトコルに適応する必要があります。マイクロコントローラーが応答すると、サーバーはいくつかの計算を行い、データベースに保存する必要があります。

ジョブは、サーバー アプリケーションの起動時に起動されます。そのインスタンスは 1 つだけ存在する必要があるため、モデルやコントローラーに入れたくありません。config フォルダーのいくつかの場所から起動しようとしましたが、初期化された定数 NameError が発生します。

サーバーの初期化時にジョブを起動する正しい方法はどれですか? あなたがとる別のアプローチはありますか?

私は Ruby 2.2.0 と Rails 4.2.0 を使用する webdev 初心者です。

4

1 に答える 1

1

スケジュールされたジョブを使用するのはどうですか? たとえば、ポーリングする必要があるものをポーリングするジョブの実行が毎分スケジュールされるようにスケジュールできますか?

この宝石を見てください:

https://github.com/javan/whenever

于 2015-04-26T11:51:07.807 に答える