我记录了一些api请求。它目前已完成同步,并且我希望处理此数据库调用异步以允许实际api调用的更快响应时间。 在Laravel中这样做的方式似乎是队列/工作系统。但是我不知道这是否也是加入DB简单的日志条目的情况:laravel队列作业登录到数据库?
$log = new Log();
$log->request = $request->all();
$log->response = $response;
$log->save();
所以,我应该创建一个作业,并派遣它呢?看起来像矫枉过正有一个队列工作者和所有的样板只是为了这个。
编辑: 我只是意识到,这可能是愚蠢的,因为队列还需要写入作业表。所以排队的东西需要1个数据库查询,对吧? 因此,对单个查询操作使用作业可能没有意义。
有没有其他的方式推迟日志的执行,直到响应之后?
您需要做的第一件事是确定这个*真正*添加到每个请求的开销。序列化和排队的可能性完全一样慢 – apokryfos