Мультипоточная очередь
С версии 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