如何给每个请求加上一个全局共享变量

forwebreg

问题描述

需要在发起请求和返回数据之间 记录全部新增修改数据ID 目前是请求时在中间件上加了
$request->operDatas = ['created' => [], 'updated' => []];
在Model里涉及到数据修改时操作时对operDatas进行修改
因为部分数据同步操作非常耗时,就添加了一个process,通过AsyncTcpConnection来进行异步操作。

    'syncdata' => [
        'handler' => app\common\task\Syncdata::class,
        'listen' => 'text://0.0.0.0:8888',
        'count' => cpu_count() * 4,
        'reusePort' => true,
    ],

异步请求在操作数据的时候 因为没有request 所以在Model里取不到request->operDatas
这种情况 有没有什么好的解决方案呢

==========================================

目前的解决办法是使用
Context::set('operDatas',['created' => [], 'updated' => []);
Context::get('operDatas');

678 0 0
0个回答

×
🔝