#!/usr/bin/env php
<?php

use Symfony\Component\Messenger\Envelope;
use Tests\Etrias\AsyncBundle\Fixtures\DummyMessage;
use Tests\Etrias\AsyncBundle\Fixtures\EventbusSetup;

require_once(__DIR__."/../../../vendor/autoload.php");

$message = $argv[1] ?? null;
if(null === $message) {
    throw new InvalidArgumentException('missing message');
}

$delay = $argv[2] ?? 0;
$deduplication = (bool)($argv[3] ?? 0);

if ($delay > 0) {
    sleep($delay);
}

$eventBusSetup = new EventbusSetup(null, $deduplication);

$envelope = new Envelope(new DummyMessage($message));
$envelope = $eventBusSetup->getMessageBus()->dispatch($envelope);