1.work: 单进程的处理模式;
无 daemon 参数 work进程在处理完下一个消息后直接结束当前进程。当不存在新消息时,会sleep一段时间然后退出;
因为执行一次就退出了,不存在污染问题。
有 daemon 参数 work进程会循环地处理队列中的消息,直到内存超出参数配置才结束进程。当不存在新消息时,会在每次循环中sleep一段时间;
这里会造成内存污染,
代码演示效果
①.先定义一个TestS测试类
<?php
namespace app\api\job;
class TestS
{
public static $num = 0;
public function __construct(){
echo "TestS construct \n";
}
public static function testNum(){
self::$num++;
return self::$num;
}
public function __destruct() {
//在 PHP 中有一种垃圾回收机制,
//当对象不能被访问时就会自动启动垃圾回收机制,
//收回对象占用的内存空间。而析