1. Go to this page and download the library: Download vaibhavpandeyvpz/qatar library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
vaibhavpandeyvpz / qatar example snippets
use Qatar\Job;
class SendEmailJob extends Job
{
public function handle(array $payload): void
{
// $payload has data passed during push()
mail($payload['to'], $payload['subject'], $payload['body']);
}
}
class SendEmailJob extends Job
{
public function handle(array $payload): void { ... }
public function failed(\Throwable $exception, array $payload): void
{
// Handle permanent failure
}
public function retries(): int
{
return 5;
}
}
use Qatar\RedisQueue;
// Create a Redis client (Predis or PhpRedis)
$redis = new Predis\Client('tcp://127.0.0.1:6379');
// Create a queue instance
$queue = new RedisQueue($redis, 'emails');
// Basic push
$queue->push(SendEmailJob::class, [
'to' => '[email protected]',
'subject' => 'Hello!',
'body' => 'Welcome to Qatar.',
]);
// Delayed push (5 minutes)
$queue->push(SendEmailJob::class, [...], delay: 300);
use Qatar\Worker;
use Qatar\RedisQueue;
$redis = new Predis\Client('tcp://127.0.0.1:6379');
$queue = new RedisQueue($redis, 'emails');
$worker = new Worker($queue);
$worker->work();
use Qatar\Worker;
use Qatar\Job;
class ContainerWorker extends Worker
{
protected function resolveJob(string $jobClass, array $payload): Job
{
// Use your DI container here
return $this->container->get($jobClass);
}
}
class BackoffJob extends Job
{
public function handle(array $payload): void
{
// The attempt number is managed by the queue backend
}
public function retries(): int { return 5; }
public function delay(): int
{
// Custom logic here
return 60;
}
}
$queue = new RedisQueue('rediss://your-secure-redis-host:6379');
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.