Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
forbidals
/
wp-content
/
plugins
/
wp-migrate-db
/
class
/
Common
/
Queue
:
QueueManager.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php namespace DeliciousBrains\WPMDB\Common\Queue; use DeliciousBrains\WPMDB\Common\Queue\Connections\DatabaseConnection; use DeliciousBrains\WPMDB\Common\Queue\Connections\RedisConnection; use DeliciousBrains\WPMDB\Common\Queue\Exceptions\ConnectionNotFoundException; class QueueManager { /** * @var array */ protected static $instances = array(); /** * Resolve a Queue instance for required connection. * * @param string $connection * * @return Queue */ public static function resolve( $connection ) { if ( isset( static::$instances[ $connection ] ) ) { return static::$instances[ $connection ]; } return static::build( $connection ); } /** * Build a queue instance. * * @param string $connection * * @return Queue * @throws \Exception */ protected static function build( $connection ) { $connections = static::connections(); if ( empty( $connections[ $connection ] ) ) { throw new ConnectionNotFoundException(); } static::$instances[ $connection ] = new Queue( $connections[ $connection ] ); return static::$instances[ $connection ]; } /** * Get available connections. * * @return array */ protected static function connections() { $connections = array( 'database' => new DatabaseConnection( $GLOBALS['wpdb'] ), 'redis' => new RedisConnection(), ); return apply_filters( 'wp_queue_connections', $connections ); } }