Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove support for plain sockets for master/slave communication #14

Closed
cgbystrom opened this issue Jan 10, 2012 · 6 comments
Closed

Remove support for plain sockets for master/slave communication #14

cgbystrom opened this issue Jan 10, 2012 · 6 comments

Comments

@cgbystrom
Copy link
Member

Right now, plain old sockets can be used whenever ZeroMQ is not available. It is my personal belief that supporting two implementations will not be good in the long run.

I vote for keeping ZeroMQ and ditching socket support for master/slave communication. What do you think?

(ping @heyman)

@Jahaja
Copy link
Member

Jahaja commented Jan 10, 2012

I would agree with this as well. I think it would simplify things using just zeromq. Especially if we want to use some of the various functionalities zeromq offers out of the box.

I don't really like the concept of supporting a "half-arsed" installation as well :)

@heyman
Copy link
Member

heyman commented Jan 10, 2012

I would also prefer to only have one master/slave communication method. The problem with only supporting ZeroMQ is that it adds dependencies on zeromq and gevent-zeromq, which makes it significantly harder to get locust running on windows.

I think that the current way of doing it with a warning that clearly states that it's recommended to install zeromq when running locust distributed, works pretty well.

The alternative, I guess, is to disable distributed mode when the zeromq dependencies aren't installed, but I don't want us to add pyzmq and gevent-zeromq as dependency to install locust.

@cgbystrom
Copy link
Member Author

@Jahaja: True.
@heyman: +1 on requiring ZeroMQ only for distributed mode.

Making it more difficult to run on Windows would not be nice, agree on that. But perhaps packaging of ZeroMQ for Windows have improved since we last tried this? I can give it a go at work and see.

@Jahaja
Copy link
Member

Jahaja commented Jan 10, 2012

An uncluttered install would indeed be nice, but perhaps that is a documentation problem rather than it actually being complicated installing the dependencies?

e.g windows binaries for pyzmq & gevent:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#pyzmq

@cgbystrom
Copy link
Member Author

I recall there being some runtime error/crash when running one of those third-party binaries of ZeroMQ for Windows.
But perhaps that has changed, I should give it a try. If the binaries you linked do work then it would be a piece of cake getting it to run even on Windows.

I certainly don't feel bad for optimizing for *nix developers using Locust. Recent surveys have shown most web devs are on *nix. Also, the demographic likely to try Locust is most likely not running Windows IMHO.

@heyman
Copy link
Member

heyman commented Jan 10, 2012

Yes, on some windows machines we saw the crash you're talking about, and on others everything was working fine. New versions of pyzmq have been released though, and it looks like they've even added official binary builds to pypi, so maybe third party builds aren't even necessary anymore. That would be awesome. I'm going to test this the next time I'm at a Windows computer.

I agree that it's definitely ok to optimize for *nix, but I also think it's worth it to keep Locust runnable on windows, since we can do it without too much effort.

@heyman heyman closed this as completed in 9992dea Sep 19, 2017
pancaprima added a commit to pancaprima/locust that referenced this issue Oct 23, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants