15

非同期処理を行うプラグインがいくつかあることは知っています。どれが最高で、その理由は何ですか?

私が知っているものは次のとおりです。

4

8 に答える 8

9

リストにDJ(Delayed Job)を追加します-http://blog.leetsoft.com/2008/2/17/delayed-job-dj

githubの連中は最近、すばらしいレビューを投稿しました:http: //github.com/blog/197-the-new-queue

于 2008-11-04T05:21:53.130 に答える
8

starling と workingling は、そのようなプロセスが複数ある可能性があり、それらをキューに入れたい場合、非常に興味深いようです (スクリーンキャストを参照)。

また、バックグラウンド プロセスに rake を使用する以前のスクリーンキャストや、おそらく同じ質問に対する別の解決策に関する将来のスクリーンキャストにも興味があるかもしれません。

于 2008-09-23T22:53:36.127 に答える
7

何かが「最善」の解決策であるかどうかは、解決しようとしている問題によって異なります。最適なソリューションが最も軽量なソリューションである場合もあれば、最も重いソリューションである場合もあります。

BackgroundRbは、Rails のバックグラウンド ジョブ プロセッサの中でおそらく最も多くの機能を備えていますが、最も複雑でもあるため、使いこなすにはより多くの投資が必要になります。BackgroundRb はおそらく、単純なものから複雑なものまで、ほとんどのユース ケースを処理できます。

Ara T. Howard のBackground Job (Bj)について非常に良いことを聞いたことがあります。これは、README を引用すると、Rails の脳死した単純なゼロ管理者のバックグラウンド優先キューです。これははるかに軽量なソリューションであり、結果としてほとんどのシナリオで BackgroundRb よりも適している可能性があります。

頻繁に行われないオフライン バッチ スタイルの処理のソリューションだけが必要な場合はscript/runner、すべての Rails アプリに付属するソリューションで十分です。

さらに読むには、Rails WikiのHowToRunBackgroundJobsInRailsを参照してください。

于 2008-09-24T08:09:17.833 に答える
4

Resqueもあなたを助けることができます。

これは、バックグラウンド ジョブを作成し、それらのジョブを複数のキューに配置し、後で処理するための非常に優れたツールです。

Github の担当者が作成して使用しています。

以下の記事は、開始するのに役立つ場合があります。

http://rubylearning.com/blog/2010/11/08/do-you-know-resque/

于 2010-12-12T16:56:30.243 に答える
3

BackgrounDRb - 長所: フル機能、メッセージング、短所: スレッド (eek - Rails はスレッド セーフではありません!)、複雑

Daemon Generator - 長所: シンプルで、ジョブを実行するだけ!、短所: 派手なメッセージング機能はありません。

于 2008-09-23T22:52:42.213 に答える
3

Starling + Workling プラグインは非常にシンプルです。さらに、シンプルでテスト済みでスケーラブルな Memcached を使用します。

于 2008-09-24T15:15:17.937 に答える
1

Cronを使用しています。セットアップもメンテナンスも簡単で、常に機能します。

BackgroundRb はあなたの脳を食べます。

于 2008-09-24T14:31:15.700 に答える
0

BackgrounDRb はスレッド化されておらず、完全にプロセス ベースです。ユーザーがIOバウンドタスクを同時に処理したい場合にのみ、ユーザーが使用できるスレッドプールの機能があります。

1.1 リリースを試して、私 (私のブログ) またはメーリング リストで問題を知らせてください。

于 2008-11-04T04:56:18.753 に答える