Thinkphp 使用swoole 实现异步任务

欢迎大家访问我的博客 blog.ayla1688.cool


原文链接:http://blog.ayla1688.cool/archives/116.html

 

在使用thinkcmf 做项目的时候,有一些比较耗时的工作, 但是不想阻碍程序的进行,所以想到使用swoole 的异步任务。


场景:
我在添加了一个用户之后,需要通过接口将用户添加到有赞商城的销售员。 添加用户完成后将添加到有赞商城业务员的操作放到异步的任务中去执行, 这样就不影响我添加用户的操作; 如果不这么做的话,还需要等待通过接口将用户数据推送到有赞商城。 如果本地添加成功,但是添加到有赞商城添加失败,如果不回滚数据则两边对不上。 所以需要有一个异步任务去执行添加用户到有赞商城的销售员。

借助了以下东西:

1. thinkphp框架的钩子
2. swoole

### 设置钩子
在项目中添加钩子文件 app/tags.php

<?php
/**
 * 钩子定义
 * 钩子定义配置文件,在此框架内,只能放在app 下, 放在模块下不起作用
 * 钩子的执行为同步执行,会对程序造成阻塞。
 */
return [

    // '钩子名称' => ['行为类']
    //添加销售员到有赞
    'add_saleman_to_youzan' => [
        'app\\common\\behavior\\YzTask',
    ],

YzTask.php 为钩子的执行类

<?php


namespace app\common\behavior;

//定义了一个行为 YzTask

use Swoole\Coroutine;

class YzTask
{
    //swoole tcp server 监听的ip
    protected $host ;
    //swoole tcp server 监听的端口
    protected $port;
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值