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

Add queue interop based driver. Supports AMQP, Amazon SQS, Kafka, Google PubSub, Redis, STOMP, Gearman, Beanstalk #20148

Closed
wants to merge 1 commit into from

Conversation

makasim
Copy link

@makasim makasim commented Jul 19, 2017

The interop driver uses queue-interop compatible transports (as of now we have 10th of them). There are many implementations in enqueue project.

Advantages

Example

  • Install the real transport for example enqueue/fs
composer require enqueue/fs
  • configure
<?php

// config/queue.php

return [
    // ....

    'connections' => [
        'interop' => [
            'driver' => 'interop',
            'dsn' => 'file://realpath(__DIR__.'/../storage').'/enqueue',
            // 'dsn' => 'amqp://guest:guest@localhost:5672/%2f'
            // 'dsn' => 'redis:'
        ],
        // ...
    ],
];

Use it as any other native driver. I welcome everyone who is interested in MQs to join the queue interop group

@taylorotwell
Copy link
Member

Going to hold off on this for now.

@deleugpn
Copy link
Contributor

@makasim have you thought about proposing a PSR for that instead?

@makasim
Copy link
Author

makasim commented Jul 19, 2017

@deleugpn Indeed! Here's the topic on their ML: https://groups.google.com/d/msg/php-fig/CcFN7zr90Wo/3ihpslRDBwAJ

@makasim
Copy link
Author

makasim commented Jul 19, 2017

@taylorotwell could you please provide us with a bit more info? I would really appreciate that

@makasim
Copy link
Author

makasim commented Jul 20, 2017

Released as a standalone lib: https://github.com/php-enqueue/laravel-queue

@makasim makasim deleted the queue-interop branch July 20, 2017 12:41
@makasim makasim changed the title Add queue interop based driver. Add queue interop based driver. Supports AMQP, Amazon SQS, Kafka, Google PubSub, Redis, STOMP, Gearman, Beanstalk Nov 17, 2017
@makasim
Copy link
Author

makasim commented Oct 23, 2018

The package has matured and gained some popularity. Supports many transports which could be configured in one line (see an example above).

screenshot 2018-10-23 17 42 18

screenshot 2018-10-23 17 43 57

@taylorotwell would you reconsider your choice? What could I do to make it happen?

@deleugpn
Copy link
Contributor

Taylor usually don't revisit closed PRs. You may just open a new PR and try again. Be prepared to answer questions like "What is the benefit this brings to Laravel users?" or "Would you be able to tell how many downloads are coming from Laravel projects?" and "Why is it better than our current queuing system?".

@mfn
Copy link
Contributor

mfn commented Oct 23, 2018

Before working on PR and investing resources/time it should be brought up on https://github.com/laravel/ideas

@makasim
Copy link
Author

makasim commented Oct 23, 2018

The most popular Laravel AMQP package is based on queue interop, hope its downloads could be counted in.

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

Successfully merging this pull request may close these issues.

4 participants