⛳
ephp
  • 简介
  • 5分钟快速开始
  • 安装
  • 开发文档
    • 目录结构
    • 控制器
    • 路由
    • 视图
    • 模型
    • 项目配置
    • 打印日志
    • 调试程序
    • 全局帮助方法
    • 异常处理
    • 启动命令介绍
    • 常用类库
      • Mail
      • Cookie
      • Session
      • Mcrytp
      • Func
      • Pinyin
      • Httpclient
  • 高级
    • 切换服务器运行模式
    • 在命令行下运行ePHP
    • 使用协程
    • 关于连接池
    • 使用协程操作MySQL
    • 引用第三方库
    • 协程HTTP客户端
    • 使用后台任务
    • 使用缓存
    • 使用phpredis或predis
  • 部署
  • 获取帮助
Powered by GitBook
On this page

Was this helpful?

  1. 高级

使用后台任务

服务启动时,监听task事件

// Create production server
$http = \ePHP\Core\Server::init()->createServer($config);

// Register a task Listener for handle Async Task
// Backend Task
$http->server->on('task', function (\swoole_server $serv, $task_id, $from_id, $data)
{
    var_dump("receive task-data=", $data);
    sleep(5);

    // return to the worker
    return $data;
});

$http->start();

在控制器中,推到异步任务到任务队列

$this->server->task(['jobName' => 'log', 'data' => '...'], -1, function (\swoole_server $serv, $task_id, $data)
{
    var_dump("异步执行完成,data=", $data);
});
Previous协程HTTP客户端Next使用缓存

Last updated 6 years ago

Was this helpful?