queue.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. /**
  3. * 队列
  4. *
  5. *
  6. *
  7. *
  8. */
  9. defined('InShopNC') or exit('Access Invalid!');
  10. ini_set('default_socket_timeout', -1);
  11. class queueControl extends BaseCronControl
  12. {
  13. public function indexOp() {
  14. if (ob_get_level()) ob_end_clean();
  15. $logic_queue = Logic('queue');
  16. $worker = new QueueServer();
  17. $queues = $worker->scan();
  18. while (true) {
  19. $content = $worker->pop($queues,1800);
  20. if (is_array($content)) {
  21. $method = key($content);
  22. $arg = current($content);
  23. $result = $logic_queue->$method($arg);
  24. if (!$result['state']) {
  25. $this->log($result['msg'],false);
  26. }
  27. // echo date('Y-m-d H:i:s',time()).' '.$method."\n";
  28. // flush();
  29. // ob_flush();
  30. } else {
  31. $model = Model();
  32. $model->checkActive();
  33. unset($model);
  34. // echo date('Y-m-d H:i:s',time())." ---\n";
  35. // flush();
  36. // ob_flush();
  37. }
  38. }
  39. }
  40. }