Проблемы с Rabbitmq

231
28 июля 2018, 16:10

Использую php-amqplib/rabbitmq-bundle Все работает нормально до момента пока Rabbit не обваливается. Вопрос: как можно избежать этих ошибок

[ErrorException]
fwrite(): send of 8 bytes failed with errno=32 Broken pipe

Exception trace: () at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/IO/StreamIO.php:285 PhpAmqpLib\Wire\IO\StreamIO->error_handler() at n/a:n/a PhpAmqpLib\Wire\IO\StreamIO->write() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/IO/StreamIO.php:374 PhpAmqpLib\Wire\IO\StreamIO->write_heartbeat() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/IO/StreamIO.php:359 PhpAmqpLib\Wire\IO\StreamIO->check_heartbeat() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/IO/StreamIO.php:410 PhpAmqpLib\Wire\IO\StreamIO->select() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/IO/StreamIO.php:231 PhpAmqpLib\Wire\IO\StreamIO->read() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/AMQPReader.php:149 PhpAmqpLib\Wire\AMQPReader->rawread() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/AMQPReader.php:106 PhpAmqpLib\Wire\AMQPReader->read() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php:513 PhpAmqpLib\Connection\AbstractConnection->wait_frame() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php:560 PhpAmqpLib\Connection\AbstractConnection->wait_channel() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Channel/AbstractChannel.php:217 PhpAmqpLib\Channel\AbstractChannel->next_frame() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Channel/AbstractChannel.php:327 PhpAmqpLib\Channel\AbstractChannel->wait() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/rabbitmq-bundle/RabbitMq/Consumer.php:88 OldSound\RabbitMqBundle\RabbitMq\Consumer->consume() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/rabbitmq-bundle/Command/BaseConsumerCommand.php:90 OldSound\RabbitMqBundle\Command\BaseConsumerCommand->execute() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:240 Symfony\Component\Console\Command\Command->run() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:876 Symfony\Component\Console\Application->doRunCommand() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:215 Symfony\Component\Console\Application->doRun() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:71 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:122 Symfony\Component\Console\Application->run() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/bin/console:27

                                              [PhpAmqpLib\Exception\AMQPRuntimeException]     Invalid frame type 65 

Exception trace: () at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php:519 PhpAmqpLib\Connection\AbstractConnection->wait_frame() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php:560 PhpAmqpLib\Connection\AbstractConnection->wait_channel() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Channel/AbstractChannel.php:217 PhpAmqpLib\Channel\AbstractChannel->next_frame() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Channel/AbstractChannel.php:327 PhpAmqpLib\Channel\AbstractChannel->wait() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/rabbitmq-bundle/RabbitMq/Consumer.php:88 OldSound\RabbitMqBundle\RabbitMq\Consumer->consume() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/rabbitmq-bundle/Command/BaseConsumerCommand.php:90 OldSound\RabbitMqBundle\Command\BaseConsumerCommand->execute() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:240 Symfony\Component\Console\Command\Command->run() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:876 Symfony\Component\Console\Application->doRunCommand() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:215 Symfony\Component\Console\Application->doRun() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:71 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:122 Symfony\Component\Console\Application->run() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/bin/console:27

[PhpAmqpLib\Exception\AMQPRuntimeException] Broken pipe or closed connection

Exception trace: () at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/IO/StreamIO.php:211 PhpAmqpLib\Wire\IO\StreamIO->read() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/AMQPReader.php:149 PhpAmqpLib\Wire\AMQPReader->rawread() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/AMQPReader.php:106 PhpAmqpLib\Wire\AMQPReader->read() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php:513 PhpAmqpLib\Connection\AbstractConnection->wait_frame() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php:560 PhpAmqpLib\Connection\AbstractConnection->wait_channel() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Channel/AbstractChannel.php:217 PhpAmqpLib\Channel\AbstractChannel->next_frame() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Channel/AbstractChannel.php:327 PhpAmqpLib\Channel\AbstractChannel->wait() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/rabbitmq-bundle/RabbitMq/Consumer.php:88 OldSound\RabbitMqBundle\RabbitMq\Consumer->consume() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/php-amqplib/rabbitmq-bundle/Command/BaseConsumerCommand.php:90 OldSound\RabbitMqBundle\Command\BaseConsumerCommand->execute() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php:240 Symfony\Component\Console\Command\Command->run() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:876 Symfony\Component\Console\Application->doRunCommand() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:215 Symfony\Component\Console\Application->doRun() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Console/Application.php:71 Symfony\Bundle\FrameworkBundle\Console\Application->doRun() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/vendor/symfony/symfony/src/Symfony/Component/Console/Application.php:122 Symfony\Component\Console\Application->run() at /home/hoster/sms.adm.tools/deploy-20180601112736-d7871684132ddb1dd6bd76693341e62dd9407e93/bin/console:27

Или в консьюмере проверять что ребит лежит и ждать пока он не перезапустится. Код консьюмера

class MessageConsumer implements ConsumerInterface
{
    /**
     * @var Sender
     */
    protected $sender;
    /**
     * @return Sender
     */
    public function getSender()
    {
        return $this->sender;
    }
    /**
     * @param Sender $sender
     * @return $this
     */
    public function setSender(Sender $sender)
    {
        $this->sender = $sender;
        return $this;
    }
    /**
     * @param AMQPMessage $msg
     * @return void
     * @throws \InvalidArgumentException
     * @throws \Doctrine\ORM\ORMInvalidArgumentException
     * @throws \Doctrine\ORM\OptimisticLockException
     */
    public function execute(AMQPMessage $msg)
    {
        $messageId = $msg->getBody();
        $this->getSender()->process($messageId);
    }
}
READ ALSO
Как передать PHP код в TWIG Opencart 3

Как передать PHP код в TWIG Opencart 3

Возникла проблема, нужно сделать проверку на заглавные буквы в URL и переадресовывать на URL со строчными буквамиРеализация простая:

207
Отправка формы на адрес указанный в input

Отправка формы на адрес указанный в input

Возможно ли указать для $to: значение, которое пользователь ввел в инпуте Email? Чтобы письмо пришло на почту, которую пользователь указал в форме

184
Почему не работает скрипт для метода execute VK API?

Почему не работает скрипт для метода execute VK API?

Имеем PHP скрипт для VK APIСкрипт создает запись в открытых группах ВК (метод wall

212