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

use Illuminate\Queue\Worker;
use Cordo\Core\Application\App;
use Illuminate\Queue\WorkerOptions;

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

/** @var App $app */
$app = require __DIR__ . '/bootstrap/app.php';
$app->register();

$laravel = $app->laravel;

$queue = $laravel['queue'];
$events = $laravel['events'];
$handler = $laravel['exception.handler'];
$isDownForMaintenance = fn () => $laravel->isDownForMaintenance();

$worker = new Worker($queue, $events, $handler, $isDownForMaintenance);
$options = new WorkerOptions(
    maxTries: 3,
    sleep: 5,
);

$worker->daemon('redis', 'default', $options);
