Queue.php 977 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. /**
  3. * for queue operation
  4. */
  5. namespace app\common\util\QueueHelp;
  6. use think\facade\Log;
  7. class Queue{
  8. function __construct($config)
  9. {
  10. //暂时只支持redis一种,之后增加其它方式改为工厂模式
  11. $this->redisQueue = new RedisQueue($config);
  12. }
  13. public function push($queue, $obj, $type='redis')
  14. {
  15. $result = $this->redisQueue->push($queue, $obj);
  16. log::info('[INFO] Queue model push to '.$type.' '.json_encode($obj).' result:'.json_encode($result));
  17. return $result;
  18. }
  19. public function queueSize($queue, $type='redis')
  20. {
  21. $result = $this->redisQueue->queueSize($queue);
  22. log::info('[INFO] Queue size: '.$queue.' '.json_encode($result));
  23. return $result;
  24. }
  25. public function pull($queue, $type='redis')
  26. {
  27. $result = $this->redisQueue->pull($queue);
  28. log::info('[INFO] Queue model pull data result:'.json_encode($result));
  29. return $result;
  30. }
  31. }