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\Queue\BeanstalkdQueue;
6
use Pheanstalk\Connection;
7
use Pheanstalk\Pheanstalk;
8
 
9
class BeanstalkdConnector implements ConnectorInterface
10
{
11
    /**
12
     * Establish a queue connection.
13
     *
14
     * @param  array  $config
15
     * @return \Illuminate\Contracts\Queue\Queue
16
     */
17
    public function connect(array $config)
18
    {
19
        return new BeanstalkdQueue(
20
            $this->pheanstalk($config),
21
            $config['queue'],
22
            $config['retry_after'] ?? Pheanstalk::DEFAULT_TTR,
23
            $config['block_for'] ?? 0,
24
            $config['after_commit'] ?? null
25
        );
26
    }
27
 
28
    /**
29
     * Create a Pheanstalk instance.
30
     *
31
     * @param  array  $config
32
     * @return \Pheanstalk\Pheanstalk
33
     */
34
    protected function pheanstalk(array $config)
35
    {
36
        return Pheanstalk::create(
37
            $config['host'],
38
            $config['port'] ?? Pheanstalk::DEFAULT_PORT,
39
            $config['timeout'] ?? Connection::DEFAULT_CONNECT_TIMEOUT
40
        );
41
    }
42
}