0

子プロセスをフォークするmongoDbタスクモジュールを備えた基本的なKohana phpフレームワークを備えたRackspaceクラウドサーバーCentOs + apache2 + php 5.4 + pcntlモジュールを実行しています。同時に複数の子タスク プロセスを実行しようとすると、次のエラーが発生します。

Unable to connect to MongoDB server at Interrupted system call

mongoDb タスク モジュールの作成者によると、問題はコードに関連するものではなく、おそらく mongoDb ドライバーまたはサーバーに関連するものです。

エラーの意味や原因を知っている人はいますか?

完全なエラー出力:

0 /var/www/.../modules/mangodb/classes/mangodb.php(370): MangoDB->接続()

1 /var/www/.../modules/mangodb/classes/mangodb.php(173): MangoDB->_call('コマンド', 配列, 配列)

2 /var/www/.../modules/mangotask/classes/model/queue/task.php(33): MangoDB->コマンド(配列)

3 /var/www/.../modules/mangoQueue/classes/controller/daemon.php(232): Model_Queue_Task->get_next()

4 /var/www/.../modules/mangoQueue/classes/controller/daemon.php(111): Controller_Daemon->daemon()

5 [内部関数]: Controller_Daemon->action_index()

6 /var/www/.../system/classes/kohana/request/client/internal.php(118): ReflectionMethod->invoke(Object(Controller_Daemon))

7 /var/www/.../system/classes/kohana/request/client.php(64): Kohana_Request_Client_Internal->execute_request(オブジェクト(リクエスト))

8 /var/www/.../system/classes/kohana/request.php(1138): Kohana_Request_Client->execute(オブジェクト(リクエスト))

9 /var/www/.../index.php(109): Kohana_Request->execute()

4

1 に答える 1

0

ドライバー バージョン 1.2.12 には確実に分岐に関する問題がありますが、これは次の 1.3.0 リリースで解決する必要があります。特に、PHP-426は、この問題に対処するための最近の問題の 1 つです。これは、接続の選択を から に移動MongoCursorMongoCursor::doQuery()、フォーク後にドライバーが正しく動作できるようにするためです。次の 1.3.0 プレリリース (beta3 または rc1) と、最終的な 1.3.0 バージョンがhttp://pecl.php.net/package/mongo経由でリリースされる時期に注目したいと思います。

于 2012-09-19T18:58:10.277 に答える