43 lines
1.1 KiB
PHP
43 lines
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* @file classes/core/PKPQueueDatabaseConnector.php
|
|
*
|
|
* Copyright (c) 2014-2023 Simon Fraser University
|
|
* Copyright (c) 2000-2023 John Willinsky
|
|
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
|
|
*
|
|
* @class PKPQueueDatabaseConnector
|
|
*
|
|
* @ingroup core
|
|
*
|
|
* @brief Registers the database queue connector
|
|
*/
|
|
|
|
namespace PKP\core;
|
|
|
|
use Illuminate\Queue\Connectors\DatabaseConnector as IlluminateQueueDatabaseConnector;
|
|
use Illuminate\Queue\DatabaseQueue;
|
|
use PKP\config\Config;
|
|
|
|
class PKPQueueDatabaseConnector extends IlluminateQueueDatabaseConnector
|
|
{
|
|
/**
|
|
* Establish a queue connection.
|
|
*
|
|
* @return \Illuminate\Contracts\Queue\Queue
|
|
*/
|
|
public function connect(array $config)
|
|
{
|
|
return new DatabaseQueue(
|
|
$this->connections->connection($config['connection'] ?? null),
|
|
$config['table'],
|
|
Config::getVar('queues', 'default_queue', 'queue'),
|
|
$config['retry_after'] ?? 60,
|
|
$config['after_commit'] ?? null
|
|
);
|
|
}
|
|
}
|