/
mikopbx
/
ModuleMonitorActiveCalls
Обзор
Документация
Войти
/
mikopbx
/
ModuleMonitorActiveCalls
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
Lib/WorkerMonitorActiveCallsMain.php
56 строк
1 KB
boffart
init...
29 окт 2025, 12:33
29 окт 2025, 12:33
f1b2f6b
Код
Авторство
О чём код?
<?php namespace Modules\ModuleMonitorActiveCalls\Lib; use MikoPBX\Core\System\BeanstalkClient; use MikoPBX\Core\System\Util; use Error; use MikoPBX\Core\Workers\WorkerBase; require_once 'Globals.php'; class WorkerMonitorActiveCallsMain extends WorkerBase { protected MonitorActiveCallsMain $templateMain; /** * Worker start point * * @param $argv */ public function start($argv): void { $this->templateMain = new MonitorActiveCallsMain(); $client = new BeanstalkClient(self::class); $client->subscribe($this->makePingTubeName(self::class), [$this, 'pingCallBack']); $client->subscribe(self::class, [$this, 'beanstalkCallback']); while (true) { $client->wait(); } } /** * Parser for received Beanstalk message * * @param BeanstalkClient $message */ public function beanstalkCallback($message): void { $receivedMessage = json_decode($message->getBody(), true); $this->templateMain->processBeanstalkMessage($receivedMessage); } } // Start worker process $workerClassname = WorkerMonitorActiveCallsMain::class; if (isset($argv) && count($argv) > 1) { cli_set_process_title($workerClassname); try { $worker = new $workerClassname(); $worker->start($argv); } catch (\Throwable $e) { global $errorLogger; $errorLogger->captureException($e); Util::sysLogMsg("{$workerClassname}_EXCEPTION", $e->getMessage(), LOG_ERR); } }