[Time] Name | Message |
[06:14] NikoS
|
hi, all. I'm testing my application based on zmq with pub/sub sockets. Test creates 1000 threads which emulates chat, each thread has own sub socket for recieving msgs and use general pub socket to send msg to chat. Application crashes after ~550 threads has joined to chat with error "ZMQError: Too many open files". I've increased ulimit, but anyway it crashes after ~550 threads
|
[06:15] NikoS
|
I forgot to add that i write on python with pyzmq
|
[06:16] NikoS
|
Has anyone tested zeromq application on same manner?
|
[06:16] guido_g
|
which ulimit setting did yoi increase and how?
|
[06:16] guido_g
|
and why do you do so much threads?
|
[06:17] guido_g
|
it's not a ømq problem at all
|
[06:17] NikoS
|
i've set it to 65535
|
[06:18] guido_g
|
set what to 65535?
|
[06:19] NikoS
|
fs.file_max in /etc/sysctl.conf
|
[06:21] guido_g
|
check if "ulimit -n" changed
|
[06:21] NikoS
|
done ) it's realy 65535
|
[06:22] guido_g
|
in the same shell the python program runs?
|
[06:22] NikoS
|
yes
|
[06:23] guido_g
|
which transport you're using?
|
[06:24] NikoS
|
Transport? Is it subscriber/publisher pattern?
|
[06:24] guido_g
|
*sigh*
|
[06:25] guido_g
|
is it tcp, incproc or what?
|
[06:25] NikoS
|
)
|
[06:26] NikoS
|
ooph ) tcp
|
[06:27] guido_g
|
then check with netstat how many sockets are opened when the program runs
|
[06:35] NikoS
|
It seems that application opens more than 2000 unix sockets
|
[07:06] sustrik
|
NikoS: there's max_sockets limit in 0mq
|
[07:06] sustrik
|
set by defaault to 512
|
[07:06] sustrik
|
if you need more sockets, you have to modify src/config.hpp
|
[07:06] sustrik
|
and recompile the whole thing
|
[08:59] NikolaVeber
|
is zhelpers library maintained along with the distribution?
|
[09:00] NikolaVeber
|
it is used in most of the examples in the guide
|
[11:25] NikolaVeber
|
does anyone have experience with php-zmq?
|
[11:28] sustrik
|
mikko should, he's the author :)
|
[11:29] NikolaVeber
|
:)
|
[11:30] NikolaVeber
|
Docs say its experimental, I'm just wondering how experimental :)
|
[11:34] mikko
|
a bit
|
[11:35] mikko
|
it's fairly stable
|
[11:35] mikko
|
i think it's going to be 1.0.0 very soon
|
[11:42] NikolaVeber
|
great! :)
|
[11:43] mikko
|
the api is unlikely to change in near future
|
[11:43] mikko
|
at least not in a backwards incompatible way
|
[17:05] rod
|
Hi, I'm trying to work through some of the examples in chapter 3 of the zguide in PHP, and have come to some that use the Zmsg class - but can't find where this is available? Or am I supposed to write it myself? Pointers appreciated, cheers
|
[17:11] guido_g
|
https://github.com/imatix/zguide/tree/master/examples/PHP
|
[17:12] rod
|
aha wicked - looks like lots of good stuff there. thanks very much guido_g.
|
[21:24] benwaine
|
Hello
|
[21:25] benwaine
|
Im having loads of fun with 0mq but have hit my first problem. Anyone round to help?
|
[21:26] mikko
|
benwaine: yep
|
[21:26] benwaine
|
woo hoo :)
|
[21:26] benwaine
|
A quick intro to what im doing:
|
[21:27] benwaine
|
I have a connection to twitter with an open stream. As tweets come in they get sent to workers using push and pull sockets.
|
[21:28] benwaine
|
I then had them fan back into a sink as in the example in the guide
|
[21:28] benwaine
|
all good so far. However I then want to push all the processed tweets into a queue device
|
[21:29] benwaine
|
I get the error: Fatal error: Uncaught exception 'ZMQSocketException' with message 'Failed to bind the ZMQ: Operation not supported by device'
|
[21:29] benwaine
|
when trying to bin the queue device to localhost
|
[21:30] mikko
|
you have to bind by ip / iface
|
[21:30] mikko
|
not by hostname
|
[21:32] benwaine
|
ahh i see. Is that true only of devices? I have it working with localhost in another example?
|
[21:32] mikko
|
benwaine: it shouldn't really work
|
[21:32] mikko
|
unless it's been fixed very recently
|
[21:33] mikko
|
connecting by hostname is ok
|
[21:33] mikko
|
but not binding
|
[21:33] benwaine
|
ahh yes - i can see in my code I am connecting not binding
|
[21:34] benwaine
|
Is it advisable to bind by IP or just use *:port ?
|
[21:37] mikko
|
maybe *
|
[21:37] mikko
|
makes it a bit more portable
|
[21:37] mikko
|
if binding to 0.0.0.0 is not a problem there
|
[21:37] mikko
|
brb
|
[21:57] benwaine
|
Mikko: That got me back on track. Thanks very much.
|