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

Implement more adapters #8

Open
3 tasks
sjparkinson opened this issue May 28, 2015 · 7 comments
Open
3 tasks

Implement more adapters #8

sjparkinson opened this issue May 28, 2015 · 7 comments

Comments

@sjparkinson
Copy link
Contributor

Here's a list of adapters I'd love to see this project support:

@joemeehan
Copy link
Contributor

RabbitMQ?

@sjparkinson
Copy link
Contributor Author

RabbitMQ?

It uses the AMQP standard 😄.

@pentium10
Copy link

BeanstalkD

@sjparkinson
Copy link
Contributor Author

BeanstalkD

@pentium10 thanks for the suggestion! If you're up for implementing the adapter yourself let us know, otherwise we'll make time for it in the near future.

@stevenscg
Copy link

This list looks pretty solid so far.
I would +1 AMQP and add Redis and PDO.

We use AMQP via php-ampqlib right now, but we are also planning to transition to SQS and beyond once we find an appropriate abstraction class.

Redis is a good parity play vs other queue abstraction projects.

PDO (MySQL mainly) is also good for parity, but still supports distribution of producers and consumers and a low bar for folks that don't want to setup other systems yet.

Are you still developing and supporting the project? Using it for real workloads?

@sjparkinson
Copy link
Contributor Author

Hi @stevenscg, we are still supporting the project, it's getting a lot of use internally so I can't see that changing either.

(Woops, pressed Shift + Enter too soon...)

Thanks for the amqp 👍, I want to make some time soon to work on more adapters, but let me know if your interested in taking that one on.

PDO is a new one for me, didn't realised it supported the idea of producers and consumers, will take a look tomorrow!

@stevenscg
Copy link

@sjparkinson Good to hear. I'll dig in a bit more and possibly work up some examples and write up separate issues if I have questions. An AMQP adapter may certainly be an option.

Re PDO: Even though we aren't supposed to use databases as queues, I've seen quite a few implementations in my search for a good abstraction. The Laravel Queue and several others, for example, work from Jobs and Failed_jobs tables. Producers write "job" rows into the table and the consumers then have to reserve, work or fail the job, and then delete the rows.

I've deduced that Laravel queuing model is designed mostly for deferring/delaying work within a monolithic app so it probably is not a perfect analog for what you have here. This is driven by the concept that a single "job" class is used to both create the job and handle it. Nice until you want to pass a job into a completely different system (or something other than PHP) that does not have access to the original job class.

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

No branches or pull requests

5 participants