1. Go to this page and download the library: Download easyswoole/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/ */
easyswoole / queue example snippets
use Swoole\Coroutine;
Coroutine::set(['hook_flags' => SWOOLE_HOOK_TCP]);
use EasySwoole\Queue\Driver\Redis\Config;
use EasySwoole\Queue\Driver\Redis\Redis as RedisDriver;
use EasySwoole\Queue\Queue;
$config = new Config();
$config->setHost('127.0.0.1');
$config->setPort(6379);
$config->setUsername(null); // 未启用 ACL 时保持 null
$config->setPassword('password');
$config->setDatabase(0); // Redis Cluster 只能使用数据库 0
$config->setConnectTimeout(3.0);
$config->setReadTimeout(3.0);
// setMinObjectNum() 应先于较小的 setMaxObjectNum() 调用。
$config->setMinObjectNum(1);
$config->setMaxObjectNum(20);
$queue = new Queue(new RedisDriver($config));
use EasySwoole\Queue\Driver\Redis\Config;
use EasySwoole\Queue\Driver\Redis\Redis as RedisDriver;
use EasySwoole\Queue\Queue;
$config = new Config();
$config->setMode(Config::MODE_CLUSTER);
$config->setSeeds([
'127.0.0.1:7001',
'127.0.0.1:7002',
'127.0.0.1:7003',
]);
$config->setUsername(null);
$config->setPassword('password');
$config->setConnectTimeout(3.0);
$config->setReadTimeout(3.0);
$config->setMinObjectNum(1);
$config->setMaxObjectNum(20);
$queue = new Queue(new RedisDriver($config));
use Swoole\Coroutine;
Coroutine::set([
'hook_flags' => SWOOLE_HOOK_TCP | SWOOLE_HOOK_STREAM_FUNCTION,
]);
use EasySwoole\Queue\Driver\RabbitMQ\Config;
use EasySwoole\Queue\Driver\RabbitMQ\RabbitMQ;
use EasySwoole\Queue\Queue;
$config = new Config();
$config->setHost('127.0.0.1');
$config->setPort(5672);
$config->setUsername('easyswoole');
$config->setPassword('password');
$config->setVirtualHost('/easyswoole');
$config->setConnectTimeout(3.0);
$config->setReadWriteTimeout(3.0);
$config->setHeartbeat(0);
$config->setMinObjectNum(1);
$config->setMaxObjectNum(20);
$queue = new Queue(new RabbitMQ($config));
use EasySwoole\Queue\Driver\Redis\Config;
use EasySwoole\Queue\Driver\Redis\Redis as RedisDriver;
use EasySwoole\Queue\Job;
use EasySwoole\Queue\Queue;
use Swoole\Coroutine;
$config->setPassword('password');
$config->setMinObjectNum(1);
$config->setMaxObjectNum(20);
$queue = new Queue(new RedisDriver($config));
$producer = $queue->producer('example');
$consumer = $queue->consumer('example');
$job = new Job();
$job->setJobData('hello queue');
$producer->push($job);
$popped = $consumer->pop(1.0);
if ($popped !== null) {
var_dump($popped->getJobData());
}
});
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.