job-runner/symfony-notifier-adapter

1.4.0 2024-11-12 14:14 UTC

README

Build Status Type Coverage Type Coverage Latest Stable Version License

This package provides a symfony/notifier adapter for JobRunner.

Installation

composer require job-runner/symfony-notifier-adapter

Usage

<?php

declare(strict_types=1);

use JobRunner\JobRunner\Job\CliJob;
use JobRunner\JobRunner\Job\JobList;
use JobRunner\JobRunner\CronJobRunner;
use Symfony\Component\Notifier\Bridge\RocketChat\RocketChatTransport;
use Symfony\Component\Notifier\Channel\ChatChannel;
use Symfony\Component\Notifier\Notifier;
use JobRunner\JobRunner\SymfonyNotifier\SymfonyNotifierEventListener;

require 'vendor/autoload.php';


$rocket = new RocketChatTransport('mytoken', '#mychannel');
$rocket->setHost('chat.myhost.com');
$chat     = new ChatChannel($rocket);
$notifier = new Notifier(['chat' => $chat]);

$jobCollection = new JobList();
$jobCollection->push(new CliJob('php ' . __DIR__ . '/tutu.php', '* * * * *'));

CronJobRunner::create()
    ->withEventListener((new SymfonyNotifierEventListener($notifier))->withNotificationChannelFail(['chat']))
    ->run($jobCollection);