引用官方的介绍
某些场景对主流程没有依赖,可以直接使用任务来实现类似这些功能。框架为开发者提供了 协程 和 异步 两种任务。切记无论是 协程任务 还是 异步任务,任务里面操作都 只支持协程,且只能使用框架封装的所有 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' &#