billing:queue_threads

Мультипоточная очередь


С версии 3.12.10 добавляется мультипоточная очередь которая позволит ускорить выполнение задач находящихся в очереди.
Новая мультипоточная очередь запускается в режиме потоков (родитель и дочерние процессы) которые постоянно остаются запущенными.

 8606 ?        Ss     0:04 php index.php start_queue_threads
 8607 ?        S      0:03  \_ php index.php start_queue_threads
 8609 ?        S      0:04  \_ php index.php start_queue_threads
 8610 ?        S      0:03  \_ php index.php start_queue_threads
 8733 ?        S      0:04  \_ php index.php start_queue_threads


Каждый дочерний процесс обрабатывает свои задачи из очереди:
№1 дочерний процесс выполняет обработку задач:

coachtarif,coacronblock,coapay,coabill,coablock,coarealip,coafreezed,coauserup,coaunfreezedolg,coadeleted,coadevbill,coapayment,coadisabled,coaenable,coaturbostart,coafreeze,coaunfreezed,coaturboblock,coaunfreeze,caocreditnull,caocreditpay,coamacreg,coaspeed


№2 дочерний процесс выполняет обработку задач:

iptvservicecategorychange,iptvservicealiaschange,iptvservicetarifchange,nagrasyncsubs,nagraaddmodule,nagrasyncpairing,iptvglobalenable,iptvenable,iptvmultiadd,iptvmultidel,iptvdisable,drecryptaddcard,drecryptdelcard,drecryptchangecard,infocasmessage,trueipdeldevice,infocasmessageall,iptvadd,iptvdel,iptvglobalsuspended,iptvserviceportalchange,nagrachangemodule,iptvmultienable,iptvmultidisable,iptvgidadd,iptvgiddel,nagraaddcard,nagrachangecard,nagradelcard,nagradelmodule,trueipadddevice,trueipchangedevice


№3 дочерний процесс выполняет обработку задач:

usdevdel,usdevadd,userchangefio,usdevportalchange,userchangepassword,userchangelogin,userproperchange,userchangedatebirth,userchangeemail,usdevchange


№4 дочерний процесс выполняет обработку задач:

komtet,pod,tarifchangespeed,atol,call_mikbill_event,kk,mail,mailingsms,mailingemail,mailingpost,multisms,kernelkick


Каждые 10 секунд проверяется наличие заданий в очереди.
Пока процесс не закончит выполнять текущие задания, новые проверять он не будет. Это значит что если процесс забрал 1000 заданий, то пока он не выполнит эту 1000 заданий новые он проверять и брать не будет.


Необходимо выключить встроенный запуск команды на обработку очереди, сделать это можно в системных опциях, раздел "Встроенные команды", галочка "do_queue_once"
Далее необходимо выполнить консольную команду: start_queue_threads

cd /var/www/mikbill/admin
php index.php start_queue_threads

Для остановки модуля, необходимо выполнить консольную команду: stop_queue_threads

cd /var/www/mikbill/admin
php index.php stop_queue_threads
  • billing/queue_threads.txt
  • Последнее изменение: 5 мес. назад
  • Александр Дудяк