quantaforge / queue
The QuantaForge Queue package.
v1.0.0
2023-10-14 14:41 UTC
Requires
- php: ^8.1
- quantaforge/collections: ^1.0.0
- quantaforge/console: ^1.0.0
- quantaforge/container: ^1.0.0
- quantaforge/contracts: ^1.0.0
- quantaforge/database: ^1.0.0
- quantaforge/filesystem: ^1.0.0
- quantaforge/pipeline: ^1.0.0
- quantaforge/serializable-closure: ^1.2.2
- quantaforge/support: ^1.0.0
- ramsey/uuid: ^4.7
- symfony/process: ^6.2
Suggests
- ext-filter: Required to use the SQS queue worker.
- ext-mbstring: Required to use the database failed job providers.
- ext-pcntl: Required to use all features of the queue worker.
- ext-pdo: Required to use the database queue worker.
- ext-posix: Required to use all features of the queue worker.
- aws/aws-sdk-php: Required to use the SQS queue driver and DynamoDb failed job storage (^3.235.5).
- pda/pheanstalk: Required to use the Beanstalk queue driver (^4.0).
- quantaforge/redis: Required to use the Redis queue driver (^10.0).
README
The QuantaForge Queue component provides a unified API across a variety of different queue services. Queues allow you to defer the processing of a time consuming task, such as sending an e-mail, until a later time, thus drastically speeding up the web requests to your application.
Usage Instructions
First, create a new Queue Capsule
manager instance. Similar to the "Capsule" provided for the Eloquent ORM, the queue Capsule aims to make configuring the library for usage outside of the QuantaForge framework as easy as possible.
use QuantaForge\Queue\Capsule\Manager as Queue; $queue = new Queue; $queue->addConnection([ 'driver' => 'beanstalkd', 'host' => 'localhost', 'queue' => 'default', ]); // Make this Capsule instance available globally via static methods... (optional) $queue->setAsGlobal();
Once the Capsule instance has been registered. You may use it like so:
// As an instance... $queue->push('SendEmail', ['message' => $message]); // If setAsGlobal has been called... Queue::push('SendEmail', ['message' => $message]);
For further documentation on using the queue, consult the QuantaForge framework documentation.