ZeroMQパブリッシャー/サブスクライバーを使用して、Webアプリケーションから複数のサーバーにデータをディスパッチしたいと思います。
WebアプリにApacheとPHPを使用していますが、phpスクリプトは次のように機能します。
//Initialization
$context = new ZMQContext();
$publisher = $context->getSocket(ZMQ::SOCKET_PUB);
$publisher->bind("tcp://*:5556");
//Then publishing for testing:
$publisher->send("test");
$publisher->send("test");
$publisher->send("test");
$publisher->send("test");
$publisher->send("test");
テストのために、Pythonのドキュメントからサブスクライバーを適合させました。
import sys
import zmq
# Socket to talk to server
context = zmq.Context()
socket = context.socket(zmq.SUB)
socket.connect ("tcp://localhost:5556")
# Subscribe to zipcode, default is NYC, 10001
socket.setsockopt(zmq.SUBSCRIBE, "")
print "Waiting..."
# Process 5 updates
for update_nbr in range (5):
string = socket.recv()
print string
コマンドラインからphpスクリプトを実行するとすべてが機能しますが、Apacheでは機能しません(スクリプトがWebブラウザーで実行される場合)。
Apache構成を機能させるために、Apache構成に対して何かすべきことはありますか?
ありがとう
アレクサンドル