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

Refactor Worker to remove special status of AMQP connection #999

Open
jerith opened this issue Oct 26, 2015 · 2 comments
Open

Refactor Worker to remove special status of AMQP connection #999

jerith opened this issue Oct 26, 2015 · 2 comments
Assignees
Labels

Comments

@jerith
Copy link
Member

jerith commented Oct 26, 2015

In order to provide a uniform mechanism for managing connection failures, it would be handy to have a connection manager abstraction that monitors the state of all connections (AMQP included) and can pause/unpause them as required. (We already do this sort of thing manually in the SMPP transport, but it's pretty transport-specific.)

The major benefit would be cleaner separation between the worker and AMQP connection (which we've been heading toward with previous refactorings) and easier management of any kind of persistent connection that a worker might need.

Additionally, standard mechanisms for tracking connection state would be useful for monitoring and health checks as well as making error handling easier.

@smn
Copy link
Member

smn commented Oct 27, 2015

@hodgestar reading this it seems like this would bring us a bit closer to allowing workers to abstract how they receive messages (AMQP or other sources) which may be useful for the ideas we have around Junebug?

@jerith
Copy link
Member Author

jerith commented Oct 27, 2015

it seems like this would bring us a bit closer to allowing workers to abstract how they receive messages (AMQP or other sources)

While that's technically true, there are still plenty of AMQP-centric assumptions that will be rather harder to break than merely swapping out a queueing mechanism. (Not impossible, but the reasons would have to be pretty compelling to justify the effort.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants