. // }}} /** * Queue wrapper * * @package GNUsocial * @category Wrapper * * @author Hugo Sales * @copyright 2020 Free Software Foundation, Inc http://www.fsf.org * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ namespace App\Core\Queue; use Symfony\Component\Messenger\MessageBusInterface; abstract class Queue { private static ?MessageBusInterface $message_bus; public static function setMessageBus($mb): void { self::$message_bus = $mb; } /** * Enqueue a $message in a configured trasnport, to be handled by the $queue handler * * @param object|string * @param mixed $message */ public static function enqueue($message, string $queue, bool $high = false, array $stamps = []) { if ($high) { self::$message_bus->dispatch(new MessageHigh($message, $queue), $stamps); } else { self::$message_bus->dispatch(new MessageLow($message, $queue), $stamps); } } }