Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Illuminate\Queue\Connectors;
4
 
5
use Illuminate\Contracts\Redis\Factory as Redis;
6
use Illuminate\Queue\RedisQueue;
7
 
8
class RedisConnector implements ConnectorInterface
9
{
10
    /**
11
     * The Redis database instance.
12
     *
13
     * @var \Illuminate\Contracts\Redis\Factory
14
     */
15
    protected $redis;
16
 
17
    /**
18
     * The connection name.
19
     *
20
     * @var string
21
     */
22
    protected $connection;
23
 
24
    /**
25
     * Create a new Redis queue connector instance.
26
     *
27
     * @param  \Illuminate\Contracts\Redis\Factory  $redis
28
     * @param  string|null  $connection
29
     * @return void
30
     */
31
    public function __construct(Redis $redis, $connection = null)
32
    {
33
        $this->redis = $redis;
34
        $this->connection = $connection;
35
    }
36
 
37
    /**
38
     * Establish a queue connection.
39
     *
40
     * @param  array  $config
41
     * @return \Illuminate\Contracts\Queue\Queue
42
     */
43
    public function connect(array $config)
44
    {
45
        return new RedisQueue(
46
            $this->redis, $config['queue'],
47
            $config['connection'] ?? $this->connection,
48
            $config['retry_after'] ?? 60,
49
            $config['block_for'] ?? null,
50
            $config['after_commit'] ?? null,
51
            $config['migration_batch_size'] ?? -1
52
        );
53
    }
54
}