Queue.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2006-2015 http://thinkphp.cn All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
  8. // +----------------------------------------------------------------------
  9. // | Author: yunwuxin <448901948@qq.com>
  10. // +----------------------------------------------------------------------
  11. namespace think;
  12. use think\queue\Connector;
  13. use think\queue\connector\Database;
  14. use think\queue\connector\Redis;
  15. /**
  16. * Class Queue
  17. * @package think\queue
  18. *
  19. * @mixin Database
  20. * @mixin Redis
  21. */
  22. class Queue extends Manager
  23. {
  24. protected $namespace = '\\think\\queue\\connector\\';
  25. protected function resolveType(string $name)
  26. {
  27. return $this->app->config->get("queue.connections.{$name}.type", 'sync');
  28. }
  29. protected function resolveConfig(string $name)
  30. {
  31. return $this->app->config->get("queue.connections.{$name}");
  32. }
  33. protected function createDriver(string $name)
  34. {
  35. /** @var Connector $driver */
  36. $driver = parent::createDriver($name);
  37. return $driver->setApp($this->app)
  38. ->setConnection($name);
  39. }
  40. /**
  41. * @param null|string $name
  42. * @return Connector
  43. */
  44. public function connection($name = null)
  45. {
  46. return $this->driver($name);
  47. }
  48. /**
  49. * 默认驱动
  50. * @return string
  51. */
  52. public function getDefaultDriver()
  53. {
  54. return $this->app->config->get('queue.default');
  55. }
  56. }