PHP code example of glebsky / simple-queue

1. Go to this page and download the library: Download glebsky/simple-queue 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/ */

    

glebsky / simple-queue example snippets


$transport = new DBTransport(); // create transport object
$queue = new Queue($transport); // add $transport to queue  
$job = new TestJob('[email protected]','Subject','Message text'); //  create job
$job->queueName = 'example_queue'; // you can change queue name
$job->priority = 3; // you can change priority
$result = $queue->dispatch($job); // send job to queue

$transport = new DBTransport();
$worker = new Worker($transport);
$worker->run();

// Worker.php

nsport.php';

use Glebsky\SimpleQueue\Example\DBTransport;
use Glebsky\SimpleQueue\Worker;

if (isset($argv[1])) {
    $queues = explode(',', $argv[1]);
} else {
    $queues = [];
}

$transport = new DBTransport();
$worker    = new Worker($transport);
$worker->run($queues);

$transport = new DBTransport();
$message = $transport->fetchMessage(['queue_name1','queue_name2'])
$worker->processJob($message);



use Glebsky\SimpleQueue\Example\TestJob;
use Glebsky\SimpleQueue\Queue;
use Glebsky\SimpleQueue\Transports\PDOTransport;
use Glebsky\SimpleQueue\Worker;

nitialize PDO connection
$transport = new PDOTransport($host, $db_name, $username, $password, $jobTableName);

//check for migrations and existing 'jobs' table
$transport->migrate();

//Create new queue and add new job
$queue = new Queue($transport);
$job = new TestJob('[email protected]', 'Test Subject', 'Test Message text');
//set properties for queue
$job->priority = 3;
//set queueName
$job->queueName = 'email_queue';
// add job to queue
$result = $queue->dispatch($job);

//run worker to handle queue
$worker = new Worker($transport);
$worker->run(['email_queue']);
//or u can handle single job
$message = $transport->fetchMessage(['email_queue']);
$result = $worker->processJob($message); // true or false
sh
php Worker.php example_queue,test_queue