問題タブ [gearman]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - Gearmanで特定の日時にジョブをスケジュールする
私が見ることができることから、Gearmanはスケジュールされたジョブまたは遅延したジョブをサポートしていません。スケジュールされたジョブをat
最初にキューに入れ、at
期間が終了した後にギアマンキューに追加できるのではないかと考えていました。
at
タスクは、サーバーのスプールディレクトリ内のディレクトリにファイルとして書き込まれるため、永続的です。at
したがって、唯一のボトルネックは、サーバー間で分散できないため、タスクをGearmanキューに追加するための単純なスクリプトである可能性があります。実際のジョブを処理するためにGearmanに渡すことは、適切なジョブログなどを取得できることを意味します。
これはこれにアプローチするための最良の方法であり、他のアイデアはありますか?
私が他のキューソリューションよりもGearmanを選んだ理由は、それがPHP拡張機能を持っているからです。
私が書いているコードは、送信する必要のある電子メールのキューを維持するために使用されます。たとえば、金曜日の9.50にexample@example.orgにメールを送信するように指定できます。
mongodb - peclがphpCLIモードで動作しない(GearmanにmongoDBが含まれる)
テストの目的で、ローカルホストでギアマンを実行しています。そこで、phpコマンドラインからgearmanworker.phpファイルを実行します。これを通常のapacheモードでテストすると、mongoDBは問題なく動作しますが、gearman workerファイルから実行すると、「致命的なエラー:クラス'Mongo'が見つかりません」というエラーが発生します。これで、Mongoクラスはphp.iniのpeclとmongo.so拡張子から取得されます。そうですね、CLIから実行されるphpファイルが異なる理由を理解しようとしています。別のphp.iniファイルを使用していますか?
php - キュー システム ファームに関する質問
これまでは、インフラストラクチャにキュー システムを実装する必要はありませんでしたが、cron ジョブでは実行できない (遅すぎる) いくつかの機能が必要になりました。
私たちのインフラストラクチャは、NoSQL を使用した LAMP (PHP) です。
私は Gearman を調べましたが、私たちのニーズにぴったりのようです。Digg や Yahoo が使用していることは知っているので、信頼できるものに違いありません。
ワーカーが停止したとき、または新しいタスクが作成されたときに、ワーカーを自動的に開始する管理ツールはありますか?
1 つの同じインフラストラクチャの下で複数のプロジェクトをどのように処理しますか (プロジェクト A には 5 つのタスクがあり、プロジェクト B には 10 のタスクがあり、プロジェクト C には 1 つのタスクがあります)。
定期的なタスクを簡単に行う方法はありますか?
Celery を見たことがありますが、見た目は良さそうですが、AMQP のみ (または RabbbitMQ のみ) のようですが、Python にあり、Python 以外のタスクを使用できるかどうかについての情報はあまり見つかりませんでした。
ありがとうございました
macos - Mac OSX で libdrizzle を使用して Gearman をインストールする
libdrizzle を Mac OS 用に有効にして、誰でも Gearman をインストールできますか? Mac ポートを使用していますが、libdrizzle を有効にするとインストールに失敗します
php - HAファイルストレージ用のMongoDB GridFS
多くのユーザーがアップロードしたファイルを保存し、冗長性を提供する必要があるプロジェクトに取り組んでいます。ファイルのアップロードについては、最初にユーザーがアップロードしたファイルを NFS の「アップロード」ディレクトリに配置し、Gearman を使用してファイルを取得し、永続的な保存場所に移動してから、MySQL をファイル情報 (ファイルサイズ、日付...) で更新することを検討していました。等)。
MongoDB の GridFS について学んだので、これは NFS と Gearman よりも優れたアプローチである可能性があると考えています。GridFS では、NFS は必要なく、冗長性が組み込まれていますが、MongoDB に多くの信頼を置いています。
とはいえ、誰か何か考えがあるのだろうかと思っていました。GridFSの大規模な展開を知っている人はいますか? 多くの人が NoSQL に MongoDB を使用していることは知っていますが、GridFS の展開についてはあまり言及していません。
ありがとう!
php - PHPギアマンファイルのアップロード
gearman を使用してファイルをアップロードすることは可能ですか? さよなら。
c - Gearmanエラーのコンパイル-ストレージサイズuuidが不明
Suse 10でgearmanをコンパイルしようとすると、次のようになります。
問題のソースファイルは次のとおりです。
http://bazaar.launchpad.net/~gearman-developers/gearmand/trunk/annotate/head:/libgearman/client.c
python - Gearman サーバーのジョブ キューを空にすることはできますか?
Gearman サーバーのジョブ キューを空にすることはできますか? 私は Gearman 用の python ドライバーを使用していますが、ドキュメントにはキューを空にすることに関する情報がありません。おそらく、Gearman サーバーに直接接続することで、この機能が存在するはずだと思います。
php - Gearman の戻り値が機能しない
PHP が $gmclient->do("somefunction", "somedata") を使用して要求を行った後、関数から値を返すようにギアマンを取得しようとしています。ただし、php クライアントは単純にタイムアウトします。私が使用している正確なコードは、phpマニュアルからそのままです。http://docs.php.net/manual/en/gearmanclient.do.phpの例 #1 を使用しています
ブラウザから次のメッセージが表示されます。
このウェブページは利用できません。
http://yoursite.com/client.phpの Web ページ が一時的に停止しているか、新しい Web アドレスに完全に移動している可能性があります。
このエラーの詳細。以下は元のエラーメッセージです
エラー 324 (net::ERR_EMPTY_RESPONSE): 不明なエラーです。
エラーメッセージを詳しく説明するのに役立つ場合、ブラウザはChromeです。
違いが生じる場合、worker.php ファイルはコマンド「php worker.php」を使用してターミナル ウィンドウで実行されています。Ubuntu 9.10 Karmic Koala で実行しています。http://blog.stuartherbert.com/php/2010/02/26/getting-gearman-up-and-running-on-ubuntu-karmic/にある指示に従って Gearman をインストールしました。
ターミナル ウィンドウを確認すると、ギアマンがリクエストを受け取り、結果をターミナルにエコーします。クライアントに返送されません。
最終的な目標は、ギアマンが実行された関数からの戻り値をクライアントに返し、その値をユーザーに表示することです。
アップデート:
リクエストに応じて、コードは以下のとおりです。
worker.php (ワーカ)
client.php (クライアント コード - これは私がブラウザにロードしているページです)
それが機能していると述べた以下のコメント..繰り返しますが、機能していませんでした。関数からの実際の結果ではなく、ジョブ ID を出力する $gmclient->do を $gmclient->doBackground に変更したため、機能しているように見えました。
最終更新 (ソリューション付き)
いくつかの作業の後、コーディング エラーではないことがわかりました。ギアマンが正しく取り付けられていません。apt-get install を使用する代わりに、手動で行うことにしました。Gearman のサイト (http://gearman.org/index.php?id=download) から Gearmand (c) をダウンロードしました。次に、gearman サイトのチュートリアルも使用しました。
php - Gearman の Web UI または PHP ジョブ キューの代替
PHP SASS アプリケーションのスイートを開発し、Gearman を使用してバックグラウンドでタスクを同期的および非同期的に処理します。Gearman が提供するものはすべて気に入っていますが、キューの管理が面倒だと感じ始めています。
Gearman の Web UI を使用した経験のある人はいますか?
または、LAMP スタックで簡単に実行でき、優れた PHP ライブラリ サポートと Web UI を備えた Gearman の代替案はありますか?