1. Go to this page and download the library: Download moharram82/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/ */
moharram82 / queue example snippets
$config = new \Moharram82\Queue\QueueConfig([
'queue' => 'default',
'retry_after' => 90, // in seconds
'table' => 'queues', // database driver table name
]);
$database_connection_options = [
'host' => '127.0.0.1',
'username' => 'root',
'password' => '',
'database' => 'queue',
'port' => 3306,
];
// create PDO database connection, which is $database_connection_options['username'],
$database_connection_options['password'],
[
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET character_set_results=utf8',
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET character_set_client=utf8',
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET character_set_connection=utf8',
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET collation_connection=utf8_general_ci'
]
);
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
echo $e->getMessage();
die;
}
// pass the connection as first optional parameter or database connection array as second optional parameter, then `\Moharram82\Queue\QueueConfig` as third optional parameter.
// keep in mind, you have to pass at least one of the first and the second parameters.
$config->setDriver(new \Moharram82\Queue\MySQLQueue($connection, [], $config));
$manager = new \Moharram82\Queue\QueueManager($config);
// create a Job class (which is a normal PHP class with a handle method) passing to it the object you want to process.
namespace Example;
class SendEmailJob
{
public MailMessage $message;
public function __construct(MailMessage $message)
{
$this->message = $message;
}
public function handle()
{
$this->message->send();
}
}
$job = new \Example\SendEmailJob(new \Example\MailMessage());
// call the QueueManager instance's push method and pass to it the Job class object with an optional second parameter for the queue name.
$manager->push($job, 'default');
// call the QueueManager instance's run method.
// You can call the `run` method from a cron job or supervisor process.
$manager->run('default');
composer
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.