Symfony Worker - потреблять сообщения - EntityManager

Я использую Symfony 4 с мессенджером и использую работника, который использует мои сообщения как длительный процесс.

У меня есть ошибка с доктриной, если я удаляю свой пост, воссоздаю новый и отправляю свое сообщение. $ post содержит старые данные, а не новые.

Я много чего перепробовал и ничего не работает, работает когда перезагружаю работника.

class ChannelMessageHandler implements MessageHandlerInterface
{
    private $channel;
    private $bus;

    public function __construct(ChannelService $channel, MessageBusInterface $commandBus)
    {
        $this->channel = $channel;
        $this->bus = $commandBus;
    }

    public function __invoke(ChannelMessage $channelMessage)
    {
        $error = $this->channel->handleChannel($channelMessage->getUser(), $channelMessage->getService());
        if ($error) {
            throw new Exception($error[0]);
        }
        $this->bus->dispatch(new FeedMessage($channelMessage->getUser(), $channelMessage->getService()));
    }
   }
}

Мой MessageHandler вызывает сервис:

class ChannelService implements ContainerAwareInterface
{
    use ContainerTrait;

    protected $em;
    protected $logger;

    public function __construct(EntityManagerInterface $entityManager, LoggerInterface $logger)
    {
        $this->em = $entityManager;
        $this->logger = $logger;
    }

    public function handleChannel($userId, $serviceName)
    {
        $user = $this->em->getRepository('App:User\Authentication\User')->findOneById($userId);
        $post = $user->getPost();

        return $this->getUserAnalyticBy($post, $serviceName);
    }

большое спасибо

0 ответов

Другие вопросы по тегам