1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
-
- namespace Illuminate\Queue\Connectors;
-
- use Illuminate\Queue\RedisQueue;
- use Illuminate\Contracts\Redis\Factory as Redis;
-
- class RedisConnector implements ConnectorInterface
- {
- /**
- * The Redis database instance.
- *
- * @var \Illuminate\Contracts\Redis\Factory
- */
- protected $redis;
-
- /**
- * The connection name.
- *
- * @var string
- */
- protected $connection;
-
- /**
- * Create a new Redis queue connector instance.
- *
- * @param \Illuminate\Contracts\Redis\Factory $redis
- * @param string|null $connection
- * @return void
- */
- public function __construct(Redis $redis, $connection = null)
- {
- $this->redis = $redis;
- $this->connection = $connection;
- }
-
- /**
- * Establish a queue connection.
- *
- * @param array $config
- * @return \Illuminate\Contracts\Queue\Queue
- */
- public function connect(array $config)
- {
- return new RedisQueue(
- $this->redis, $config['queue'],
- $config['connection'] ?? $this->connection,
- $config['retry_after'] ?? 60,
- $config['block_for'] ?? null
- );
- }
- }
|