Open lizhanghu opened 4 years ago
打开S QL事件监听看看 有没有执行 sql
打开S QL事件监听看看 有没有执行 sql 是swoft里面的事件吗
打开S QL事件监听看看 有没有执行 sql
class ModelSavedListener implements EventHandlerInterface
{
/**
* @param EventInterface $event
*/
public function handle(EventInterface $event): void
{
/** @var Model $modelStatic */
$modelStatic = $event->getTarget();
if ($modelStatic instanceof KeywordStats) {
$data = $modelStatic->getModelOriginal();
$modify = $modelStatic->getModelChanges();
echo $data['id']."修改内容为".json_encode($modify)."\n";
}
}
}
我添加了事件监听发现没有检测到丢失数据的日志,我在下面这段代码中打上了断点测试
if ($data['total']>0) {
$co = sgo(function () use ($data) {
--------------start---------------
$flag = Stats::find($data['id'])->update([
'total_count' => $data['total'],
]);
----------------end--------------
if ($flag == false) {
echo "ID:".$data['id']." total:".($data['total'])." update失败! \n";
} else {
echo "ID:".$data['id']." total:".($data['total'])."\n";
}
});
if ($co ==false) {
echo "ID:".$data['id']." 协程创建失败 \n";
}
}
发现 chunk($count, function (\Swoft\Stdlib\Collection $words)
的count输入多少这个数据就执行到哪,比如我输入的是50(每次返回50条),id范围在1-55,id 51就已经断掉了但是也不报错。如果我把这个model的代码注释掉,51-55的id就能打印出来
打开S QL事件监听看看 有没有执行 sql
您好 我还要等几天
🥺 这个问题不好查询 不是连接问题吧 这种可以考虑使用 生产消费模型 去处理不要在 chunk 里面去直接消费
StatsCommand 代码块
问题描述
版本