Skip to content

1 安装与初始化

evalor edited this page Jan 7, 2018 · 1 revision

安装与初始化

队列类原则上不依赖easySwoole,可以用于任何框架,只需要使用Composer载入类库,完成初始化即可使用,队列驱动多进程安全,不需要做额外设置,以下文档以 easySwoole 框架的 1.x 版本作为演示例子

使用Composer安装

使用Composer安装类库是非常简单的,只需要执行

composer require easyswoole/queue

初始化配置

在框架 frameInitialized 事件里进行初始化操作,具体的配置项可以参考 Connector 目录下对应的驱动类文件

初始化Redis驱动

use easySwoole\Queue\Connector\Redis;
use easySwoole\Queue\Queue;

function frameInitialized()
{
	$redisOptions = [
		'default'    => 'default',   // 默认队列名称
		'host'       => '127.0.0.1', // redis服务器
		'select'     => 0,           // redis库序号
		'password'   => '',          // redis密码
		'port'       => 6379,        // redis端口
		'ttr'        => 60,          // 任务的最大执行时间
		'timeout'    => 5,           // 连接redis的超时时间
		'persistent' => true         // 是否开启长连接
	];

	// 初始化队列
	$RedisConnector = new Redis($redisOptions);
	Queue::init($RedisConnector);
}

初始化Beanstalkd驱动

use easySwoole\Queue\Connector\Beanstalkd;
use easySwoole\Queue\Queue;

function frameInitialized()
{
	$beanstalkdOptions = [
		'default'    => 'default',   // 默认队列名称
		'host'       => '127.0.0.1', // beanstalkd服务器
		'port'       => 11300,       // beanstalkd端口
		'ttr'        => 60,          // 任务的最大执行时间
		'timeout'    => null,        // 连接beanstalkd的超时时间
		'persistent' => true         // 是否开启长连接
	];

	// 初始化队列
	$beanstalkdConnector = new Beanstalkd($beanstalkdOptions);
	Queue::init($beanstalkdConnector);
}