gpt4 book ai didi

php - Symfony后台事件发送响应错误 session 后

转载 作者:行者123 更新时间:2023-12-03 06:38:09 30 4
gpt4 key购买 nike

我在 session 中使用带Redis的Symfony 4.4
我有一些 Controller ,希望在向用户发送回复后在后台更新数据库。
所以我写了这样的代码:

class GetCatController extends AbstractController
{
public function getCatController(LoggerInterface $logger, ManagerRegistry $doctrine, SessionInterface $session, ValidatorInterface $validator)
{
[...]
$replyToSend = new JsonResponse($reply, 200);
$replyToSend->send();

//My back ground activity like to do some query on the db.
[...]

return null;
}
但是我在 session 上遇到了一些问题。
在回复用户之前,是否有更好的方法来创建和运行后台 Activity 发送?

最佳答案

有两种方法可以做到这一点。
如果您在php-fpm(而不是mod_php)下运行PHP,则可以调度并捕获事件kernel.terminate在Symfony 4.4之前的版本中,这称为PostResponseEvent(4.4 / 5.0中的TerminateEvent)。
更好的选择可能是Symfony Messenger。在这里,您将创建一个消息对象,其中包含执行任务所需的所有信息,然后将其发送到后台队列(支持将Redis作为队列)。然后,工作人员使用该消息并执行任务。

关于php - Symfony后台事件发送响应错误 session 后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63030511/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com