Heroku に Rails アプリがあり、 delayed_job、sidekiq、または他の同様のサービスを使用してバックグラウンド プロセスを生成したいと考えています。私はワーカー dyno にお金を払いたくないので、Amazon でこのプロセスを実行するのは比較的安価であると聞いています。特定の時間にスケジュールされたバックグラウンド プロセスについて話しているのではありません。ユーザーが自分のサイトで何かを実行したときに特定のプロセスを実行したいのです。Amazon EC2 はこれに適したツールでしょうか? それとも別の Amazon ツールがありますか? また、適切なツールが何であれ、Rails から正しく生成するにはどうすればよいでしょうか?
質問する
78 次
1 に答える
0
最も簡単なのは、Heroku に支払うことです。
デプロイの管理と環境の構成に慣れている限り、AW は適切な方法です。「比較的」簡単ですが、本番環境で Rails アプリをデプロイおよび管理した経験がない限り、簡単とは言えません。また、ホストの稼働状況、ホストごとのワーカー数、メモリ、ハードウェア障害などについても心配する必要があります。ほとんどの人は、この種の作業を避けるために、そもそも Heroku を使用しています。それは言った:
1) resque の場合、同じ Redis クラスターに接続するだけで済みます。AWS のワーカーには、heroku アプリによって作成されたジョブのキューが表示されます
2) 遅延ジョブの場合、同じデータベースに対して読み書きできる必要があります。これも非常に簡単です。
ここでの大きなリスクは、コードの同期に注意する必要があることです。1 つのバージョンのコードを webapp で実行し、別のバージョンをワーカーで実行することは望ましくありません。ID だけで参照を渡すように細心の注意を払う必要があります (ワーカーが逆シリアル化できないものにオブジェクトをシリアル化するジョブの遅延に注意してください)。
于 2013-07-24T16:32:03.197 に答える