androzd/queue-nsq

NSQ package for laravel
18,726 1
Install
composer require androzd/queue-nsq
Latest Version:v1.0.7
PHP:>=7.4
Last Updated:Jun 10, 2024
Links: GitHub  ·  Packagist
Maintainer: androzd

androzd/queue-nsq

Laravel package for NSQ. This package NOT use laravel's api.

Installation

First, require the package using Composer:

composer require androzd/queue-nsq

Configuration

You can configure with env variables.

If you need more options to replace, you can publish and edit config file:

php artisan vendor:publish --provider="Androzd\QueueNsq\QueuesServiceProvider" --tag="config"

Produce new Nsq message:

<?php

use Androzd\QueueNsq\Actions\ProduceMessageToTopic;

$message = json_encode(['id' => 'example message']);
$topic = 'example-topic';

$produceAction = new ProduceMessageToTopic();
$produceAction($message, $topic);

Produce new deferred Nsq message:

<?php

use Androzd\QueueNsq\Actions\ProduceDeferredMessageToTopic;

$message = json_encode(['id' => 'example message']);
$topic = 'example-topic';

$produceDeferredAction = new ProduceDeferredMessageToTopic();
$produceDeferredAction($message, $topic, 10_000);//deferred time in ms

Listen Nsq topic:

<?php

use Androzd\QueueNsq\Console\BaseConsumer;

class ExampleTopic extends BaseConsumer
{
    protected $signature = 'queue-work:example_topic';

    public function getTopic(): string
    {
        return 'example-topic';
    }

    public function process(NsqMessage $nsqMessage, $bev)
    {
        $payload = json_decode($nsqMessage->payload);
        // ... your code
    }
}

Related Packages

doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

634,760,849 9,707
laravel/framework

The Laravel Framework.

584,532,650 34,931
laravel/tinker

Powerful REPL for the Laravel framework.

493,838,477 7,443
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

408,553,772 609
nunomaduro/collision

Cli error handling for console/command-line PHP applications.

387,976,821 4,658