All Projects → phpinnacle → ridge

phpinnacle / ridge

Licence: MIT license
Pure asynchronous PHP implementation of the AMQP 0-9-1 protocol.

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to ridge

nabbitmq
Node.js library for interacting with RabbitMQ based on RxJS streams
Stars: ✭ 20 (-59.18%)
Mutual labels:  amqp, rabbitmq-client, amqp0-9-1, amqp-client
fs2-rabbit
🐰 RabbitMQ stream-based client built on top of Fs2
Stars: ✭ 143 (+191.84%)
Mutual labels:  amqp, rabbitmq-client, amqp-client
Enqueue Dev
Message Queue, Job Queue, Broadcasting, WebSockets packages for PHP, Symfony, Laravel, Magento. DEVELOPMENT REPOSITORY - provided by Forma-Pro
Stars: ✭ 1,977 (+3934.69%)
Mutual labels:  amqp, rabbitmq-client
nest-rabbit-tasks
nest-rabbit-worker is a TaskQueue based upon RabbitMQ for NestJS
Stars: ✭ 29 (-40.82%)
Mutual labels:  amqp, amqp0-9-1
node-carotte-amqp
An amqplib wrapper for microservices
Stars: ✭ 27 (-44.9%)
Mutual labels:  amqp, rabbitmq-client
Tackle
💯 percent reliable microservice communication
Stars: ✭ 44 (-10.2%)
Mutual labels:  asynchronous, amqp
Aiormq
Pure python AMQP 0.9.1 asynchronous client library
Stars: ✭ 112 (+128.57%)
Mutual labels:  asynchronous, amqp
the-white-rabbit
The White Rabbit is an asynchronous RabbitMQ (AMQP) client based on Kotlin coroutines
Stars: ✭ 90 (+83.67%)
Mutual labels:  amqp, rabbitmq-client
amqpprox
An AMQP 0.9.1 proxy server, designed for use in front of an AMQP 0.9.1 compliant message queue broker such as RabbitMQ.
Stars: ✭ 51 (+4.08%)
Mutual labels:  amqp, amqp0-9-1
aop
AMQP on Pulsar protocol handler
Stars: ✭ 93 (+89.8%)
Mutual labels:  amqp, amqp0-9-1
SierraChartZorroPlugin
A Zorro broker API plugin for Sierra Chart, written in Win32 C++.
Stars: ✭ 22 (-55.1%)
Mutual labels:  asynchronous
jobs
RoadRunner: Background PHP workers, Queue brokers
Stars: ✭ 59 (+20.41%)
Mutual labels:  amqp
Hunch
Hunch provides functions like: All, First, Retry, Waterfall etc., that makes asynchronous flow control more intuitive.
Stars: ✭ 94 (+91.84%)
Mutual labels:  asynchronous
async
Synchronization and asynchronous computation package for Go
Stars: ✭ 104 (+112.24%)
Mutual labels:  asynchronous
qpid-broker-j
Mirror of Apache Qpid Broker-J
Stars: ✭ 52 (+6.12%)
Mutual labels:  amqp
erl dist
Rust Implementation of Erlang Distribution Protocol
Stars: ✭ 110 (+124.49%)
Mutual labels:  asynchronous
async-sockets
Library for asynchronous work with sockets based on php streams
Stars: ✭ 45 (-8.16%)
Mutual labels:  asynchronous
jackrabbit
Simple AMQP / RabbitMQ job queues for node based on amqplib
Stars: ✭ 28 (-42.86%)
Mutual labels:  rabbitmq-client
WPWatcher
Wordpress Watcher is a wrapper for WPScan that manages scans on multiple sites and reports by email and/or syslog. Schedule scans and get notified when vulnerabilities, outdated plugins and other risks are found.
Stars: ✭ 34 (-30.61%)
Mutual labels:  asynchronous
core.horse64.org
THIS IS A MIRROR, CHECK https://codeberg.org/Horse64/core.horse64.org
Stars: ✭ 3 (-93.88%)
Mutual labels:  asynchronous

PHPinnacle Ridge

Latest Version on Packagist Software License Continuous Integration Shepherd Total Downloads

This library is a pure asynchronous PHP implementation of the AMQP 0-9-1 protocol.

Code is mostly based on bunnyphp, but use amphp for async operations.

Install

Via Composer

$ composer require phpinnacle/ridge

Basic Usage

<?php

use Amp\Loop;
use PHPinnacle\Ridge\Channel;
use PHPinnacle\Ridge\Client;
use PHPinnacle\Ridge\Message;

require __DIR__ . '/vendor/autoload.php';

Loop::run(function () {
    $client = Client::create('amqp://user:pass@localhost:5672');

    yield $client->connect();

    /** @var Channel $channel */
    $channel = yield $client->channel();

    yield $channel->queueDeclare('queue_name');

    for ($i = 0; $i < 10; $i++) {
        yield $channel->publish("test_$i", '', 'queue_name');
    }

    yield $channel->consume(function (Message $message, Channel $channel) {
        echo $message->content() . \PHP_EOL;

        yield $channel->ack($message);
    }, 'queue_name');
});

More examples can be found in examples directory.

Testing

$ composer tests

Change log

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].