private function attachEventHandlers()
{
$out = function ($string) {
$this->stdout(Console::renderColoredString($string));
};
Event::on(Queue::class, Queue::EVENT_BEFORE_WORK, function ($event) use($out) {
/** @var JobEvent $event */
$out("%Y[{$event->channel}]%n %GNew job%n '" . get_class($event->job) . "'\n");
});
Event::on(Queue::class, Queue::EVENT_AFTER_WORK, function ($event) use($out) {
/** @var JobEvent $event */
$out("%Y[{$event->channel}]%n %GJob%n '" . get_class($event->job) . "' %Gis completed%n\n");
});
Event::on(Queue::class, Queue::EVENT_AFTER_ERROR, function ($event) use($out) {
/** @var ErrorEvent $event */
$out("%Y[{$event->channel}]%n %RJob '" . get_class($event->job) . "' finished with error:%n '" . $event->error . "'\n");
});
Event::on(AbstractPackageCommand::class, AbstractPackageCommand::EVENT_BEFORE_RUN, function ($event) use($out) {
/** @var AbstractPackageCommand $command */
$command = $event->sender;
$out("%g[" . get_class($command) . "]%n Working on package %N" . $command->getPackage()->getFullName() . "%n\n");
});
}