queue.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. public function indexOp() {
  13. if (ob_get_level()) ob_end_clean();
  14. $logic_queue = Logic('queue');
  15. $worker = new QueueServer();
  16. $queues = $worker->scan();
  17. while (true) {
  18. $content = $worker->pop($queues,1800);
  19. if (is_array($content)) {
  20. $method = key($content);
  21. $arg = current($content);
  22. $result = $logic_queue->$method($arg);
  23. if (!$result['state']) {
  24. $this->log($result['msg'],false);
  25. }
  26. // echo date('Y-m-d H:i:s',time()).' '.$method."\n";
  27. // flush();
  28. // ob_flush();
  29. } else {
  30. $model = Model();
  31. $model->checkActive();
  32. unset($model);
  33. // echo date('Y-m-d H:i:s',time())." ---\n";
  34. // flush();
  35. // ob_flush();
  36. }
  37. }
  38. }
  39. }