snortlin/google-pubsub-messenger

Symfony Google Pub/Sub extension Messenger Bridge

Installs: 2 289

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 3

Open Issues: 0

Type:symfony-messenger-bridge

1.0.0 2022-03-29 12:13 UTC

This package is auto-updated.

Last update: 2024-04-29 04:53:53 UTC


README

Installation

Step 1: Install

The preferred method of installation is via Composer:

composer require snortlin/google-pubsub-messenger

Step 2: Register Messenger Transport

# config/services.yaml
services:
    Snortlin\GooglePubsubMessenger\Transport\GpsTransportFactory:
        tags: [ messenger.transport_factory ]

Step 3: Configure Symfony Messenger

Create a connection based on the DSN and options:

framework:
    messenger:
        transports:
            google-pubsub:
                dsn: 'gps://default?topic=topic_name&subscription=subscription_name&key=base64_key'

Usage

Configuration options

  • topic: Topic name
  • subscription: Subscription name
  • key: GPS key JSON format
  • pull_max_messages: Limit the amount of messages pulled; default=0 (GPC default => 1000)
  • pull_ack_deadline: The new ack deadline pulled messages; default=0 (GPC default => 10)
  • redelivery_ack_deadline: Default ack deadline on redelivered messages, default=0

OrderingKeyStamp for ordering messages

use Snortlin\GooglePubsubMessenger\Transport\Stamp\OrderingKeyStamp
use Symfony\Component\Messenger\Envelope;
use Symfony\Component\Messenger\MessageBusInterface;

public function index(MessageBusInterface $bus)
{
    $bus->dispatch(new MyMessage('...'), [
        new OrderingKeyStamp('my_ordering_key'),
    ]);

    // ...
}

Official documentation