DatabaseConnector.php 1.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace Illuminate\Queue\Connectors;
  3. use Illuminate\Queue\DatabaseQueue;
  4. use Illuminate\Database\ConnectionResolverInterface;
  5. class DatabaseConnector implements ConnectorInterface
  6. {
  7. /**
  8. * Database connections.
  9. *
  10. * @var \Illuminate\Database\ConnectionResolverInterface
  11. */
  12. protected $connections;
  13. /**
  14. * Create a new connector instance.
  15. *
  16. * @param \Illuminate\Database\ConnectionResolverInterface $connections
  17. * @return void
  18. */
  19. public function __construct(ConnectionResolverInterface $connections)
  20. {
  21. $this->connections = $connections;
  22. }
  23. /**
  24. * Establish a queue connection.
  25. *
  26. * @param array $config
  27. * @return \Illuminate\Contracts\Queue\Queue
  28. */
  29. public function connect(array $config)
  30. {
  31. return new DatabaseQueue(
  32. $this->connections->connection($config['connection'] ?? null),
  33. $config['table'],
  34. $config['queue'],
  35. $config['retry_after'] ?? 60
  36. );
  37. }
  38. }