当前位置: 首页 > 工具软件 > Swoft > 使用案例 >

swoft2 教程系列-任务详解

瞿子濯
2023-12-01

基本功能介绍

引用官方的介绍

某些场景对主流程没有依赖,可以直接使用任务来实现类似这些功能。框架为开发者提供了 协程 和 异步 两种任务。切记无论是 协程任务 还是 异步任务,任务里面操作都 只支持协程,且只能使用框架封装的所有 IO 操作(数据库、缓存…)

协程任务投递任务的时候不会阻塞主进程相当于一次协程调用,一般用于需要等待任务结果返回的场景。
有些场景主流程并不关心的任务执行的结果,此时就可以使用异步任务。

本人的理解

任务把一系列常用操作进行封装,使用协程可以大大的提高系统的效率,本人推荐使用任务来处理一些频繁调用的操作,例如数据库读取,可以分装到携程任务里.这里我们只介绍3种任务携程任务,异步任务,定时任务.关于同步任务我们不做介绍,因为同步任务和携程任务只能2选择1,我们推荐使用携程任务,一些非携程任务需要执行的操作可以分装成RPC服务,通过调用服务的方式来解决.

功能的相关配置选项

'httpServer' => [
 'class' => HttpServer::class,
 'port' => 18306,
 'listener' => [
 'rpc' => bean('rpcServer')
 ],
 'process' => [
//            'monitor' => bean(MonitorProcess::class)
 'crontab' => bean(CrontabProcess::class) //开启定时任务
 //'log' &#
 类似资料: