think-worker计时器

本文介绍如何在ThinkPHP项目中集成Think-Worker组件实现定时任务和服务常驻内存。包括安装Think-Worker、配置服务启动文件及创建相应控制器。

安装

#在项目根目录执行以下指令
# 如果是tp5.0使用1.0的版本(使用1.0任务会执行4次)
# composer require topthink/think-worker=1.0.*
composer require topthink/think-worker

在项目根目录创建服务启动文件 server.php

<?php
define('APP_PATH', __DIR__ . '/application/');
define("BIND_MODULE", "server/Worker");
// 加载框架引导文件
require __DIR__ . '/thinkphp/start.php';

在application里创建server模块,并在server里创建控制器 Worker.php

<?php
namespace app\server\controller;
use think\worker\Server;

class Worker extends Server
{

    public function onWorkerStart($work)
    {
        $handle=new Collection();
        $handle->add_timer();
    }
}

在application里创建server模块,并在server里创建控制器 Collection.php

<?php
namespace app\server\controller;

use think\Controller;
use Workerman\Lib\Timer;

class Collection extends Controller
{

    public function __construct()
    {
        parent::__construct();
    }

    public function add_timer()
    {
        Timer::add(10, array($this, 'index'), array(), true); //时间间隔过小,运行会崩溃
    }
    public function index()
    {

        return json(['msg' => "此次采集数据共 10 条。", 'total' => 10]);
    }

}

启动服务 php server.php start

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值