php-enqueue / enqueue-dev

Message Queue, Job Queue, Broadcasting, WebSockets packages for PHP, Symfony, Laravel, Magento. DEVELOPMENT REPOSITORY - provided by Forma-Pro
https://enqueue.forma-pro.com/
MIT License
2.16k stars 427 forks source link

A list of nice to add transports. Feel free to make a proposition. #284

Open makasim opened 6 years ago

makasim commented 6 years ago

I created this issue to keep track on transports that would be nice to add. So if you think that we should add support for something comment here instead of opening a new issue.

makasim commented 6 years ago

Feel free to chat here.

pascaldevink commented 6 years ago

Some sort of in-memory transport would also be very nice for improved functional testing, since the null transport just discards the message, meaning that it's impossible to take a look at the queue or test the behaviour of queue listeners. Other transports might work, but require some hacking.

makasim commented 6 years ago

@pascaldevink I think about it from time to time, though I still doubt it should be implemented (or even used) cuz its sync nature is far from a real async MQ transport reality.

For example, Using sync transport you can access current user (from the session) one way or another. Tests would pass, the app would work but later if you decide to switch to real broker everything breaks.

BallisticPain commented 6 years ago

Autobahn / WAMP (http://wamp-proto.org)

I'm also seeing queue systems, not just the transport? Maybe beanstalkd then?

dzubchik commented 6 years ago

@BallisticPain , beanstalk already implemented https://github.com/php-enqueue/enqueue-dev/blob/master/docs/transport/pheanstalk.md.

ramunasd commented 6 years ago

AMQP 1.0, ZeroMQ and PHP-FPM looks most interesting to me.

IndraGunawan commented 6 years ago

+1 for NSQ

grachevko commented 6 years ago

+1 for NSQ

haroldmodesto commented 5 years ago

+1 ZeroMQ

sylfabre commented 5 years ago

@makasim I'm considering a PR to support Azure Service Bus or Azure Queue Storage. Do you know if someone is already working on it?

makasim commented 5 years ago

@sylfabre this great! Do not hesitate to reach me out, I'll be glad to support you.

As for integration, Nobody is working on it as far as I know

sergeyklay commented 5 years ago

Could I suggest this one https://github.com/pdffiller/qless-php

jhfyang commented 5 years ago

+1 nats.io

TiS commented 5 years ago

+1 ZeroMQ

altaraven commented 4 years ago

Amazon Kinesis

rybakit commented 4 years ago

Tarantool Queue.

violuke commented 4 years ago

How about KubeMQ?

denheck commented 4 years ago

How about a transport for the Kafka Rest Proxy? It would be useful for integrating with Kafka in environments where the php-rdkafka extension is not installed.

I would be happy to add a PR for it

ali997 commented 3 years ago

+1 AMQP 1.0

GothShoot commented 3 years ago

REST ? (using kubernetes dns to round robin api call, perfect for PHP consumer with fpm)

kenguest commented 2 years ago

+1 for mqtt as it then would be another avenue for propagating data into the likes of Home Assistant.

xicond commented 2 years ago

Is it support Redis Pubsub with swoole ?

https://www.swoole.co.uk/article/redis-swoole-pubsub

Could be lesser CPU consumption

TiS commented 1 year ago

It seems, that assoconnect/enqueue-azure is abandoned (see the only existing pull request). It would be good to either take ownership of this transport or incorporate the code to main library.

g41797 commented 6 months ago

hi i don't want to add any broker to the list i'd like to implement transport at least try to implement quick response will be proof of the life ...

makasim commented 6 months ago

Use existing transports as an example.

g41797 commented 6 months ago

i'll try nats could you please add some links for start (i meant high level design/description of queue use cases etc ) i hope you have some favorites also i understand that it is not urgent issue

matpo commented 5 months ago

What about Cloudflare Queues?

g41797 commented 4 months ago

Use existing transports as an example.

I started to use pheanstalk as an example

But did not find PheanstalkDriver.php within drivers

Does it mean that pheanstalk is not part of enqueue? As far as I understand XYZDriver.php is kind of registrator for XYZ transport

Do I need to add NatsDriver.php ?

And additional question - do you have example of application based on enqueue? I tried to use dependents on packagist but did not find simple example

makasim commented 4 months ago

Does it mean that pheanstalk is not part of enqueue? As far as I understand XYZDriver.php is kind of registrator for XYZ transport

Do I need to add NatsDriver.php ?

There are two levels of abstraction: low-level transport, and high-level (opinionated) driver. Driver level is optional if you don't need the features it provides. Transport is a corner stone, everything is built on top of it.

And additional question - do you have example of application based on enqueue?

Nope, I personally cannot provide any examples. I've not used the lib for years.