enqueue-dev icon indicating copy to clipboard operation
enqueue-dev copied to clipboard

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

Open makasim opened this issue 8 years ago • 31 comments

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 avatar Dec 01 '17 10:12 makasim

Feel free to chat here.

makasim avatar Dec 01 '17 11:12 makasim

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.

pascaldevink avatar Dec 06 '17 11:12 pascaldevink

@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.

makasim avatar Dec 10 '17 17:12 makasim

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

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

BallisticPain avatar Dec 15 '17 03:12 BallisticPain

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

dzubchik avatar Dec 15 '17 08:12 dzubchik

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

ramunasd avatar Apr 24 '18 10:04 ramunasd

+1 for NSQ

IndraGunawan avatar May 28 '18 20:05 IndraGunawan

+1 for NSQ

grachevko avatar Jun 08 '18 17:06 grachevko

+1 ZeroMQ

haroldmodesto avatar Sep 17 '18 06:09 haroldmodesto

@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?

sylfabre avatar Oct 12 '18 09:10 sylfabre

@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

makasim avatar Oct 12 '18 09:10 makasim

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

sergeyklay avatar Nov 21 '18 22:11 sergeyklay

+1 nats.io

jhfyang avatar Apr 09 '19 13:04 jhfyang

+1 ZeroMQ

TiS avatar May 17 '19 09:05 TiS

Amazon Kinesis

altaraven avatar Sep 12 '19 16:09 altaraven

Tarantool Queue.

rybakit avatar Oct 03 '19 18:10 rybakit

How about KubeMQ?

violuke avatar Oct 31 '19 08:10 violuke

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

denheck avatar Jan 19 '20 01:01 denheck

+1 AMQP 1.0

ali997 avatar Mar 18 '21 12:03 ali997

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

GothShoot avatar Mar 24 '21 12:03 GothShoot

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

kenguest avatar Oct 12 '21 17:10 kenguest

Is it support Redis Pubsub with swoole ?

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

Could be lesser CPU consumption

xicond avatar Nov 06 '21 03:11 xicond

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.

TiS avatar Nov 17 '22 10:11 TiS

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 ...

g41797 avatar Jan 14 '24 11:01 g41797

Use existing transports as an example.

makasim avatar Jan 15 '24 08:01 makasim

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

g41797 avatar Jan 15 '24 09:01 g41797

What about Cloudflare Queues?

matpo avatar Jan 26 '24 17:01 matpo

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

g41797 avatar Mar 18 '24 09:03 g41797

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.

makasim avatar Mar 18 '24 10:03 makasim