安装
wget https://github.com/beanstalkd/beanstalkd/archive/refs/tags/v1.12.zip
unzip v1.12.zip
cd beanstalkd-1.12
make && make install
beanstalkd -v 出现版本信息就代表更新成功了
启动服务
./beanstalkd -l 0.0.0.0 -p 11300 -b ./binlog
-l 指定ip访问 0.0.0.0不限制
-p 指定端口
-b 持久化文件目录(需要提前创建并给权限)
安装对应语言的拓展
https://github.com/beanstalkd/beanstalkd/wiki/Client-Libraries
PHP 简单使用
安装
composer require pda/pheanstalk
塞入任务
use Pheanstalk\Pheanstalk;
//监听服务
$pheanstalk = Pheanstalk::create("127.0.0.1");
//使用 jobs 队列
$pheanstalk->useTube("jobs");
for ($i = 1; $i <= 10; $i++) {
//塞入队列任务 任务内容 任务权重 延时时间 执行时间
$pheanstalk->put("this is job {$i}", 1024, 30, 600);
}
执行任务(可同时启动多个执行任务)
use Pheanstalk\Pheanstalk;
//监听服务
$pheanstalk = Pheanstalk::create("127.0.0.1");
//监听 jobs 队列
$pheanstalk->watch("jobs");
while (true) {
try {
//阻塞获取任务
$job = $pheanstalk->reserve();
//任务内容
$data = $job->getData();
echo $data;
sleep(1);
//删除任务
$pheanstalk->delete($job);
}
catch (Exception $ex) {
//重试任务
$pheanstalk->release($job);
}
}
COMMENTS | NOTHING