Skip to content

allow laravel to end workers with lost connection - laravel 8 and php ^7.3 #576

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
urosZoretic opened this issue Nov 22, 2023 · 2 comments
Closed
Assignees

Comments

@urosZoretic
Copy link

urosZoretic commented Nov 22, 2023

  • Laravel: 8
  • php: 7.3
  • RabbitMQ version: 0.9.0
  • Package version: 11.3.0

Describe the bug

worker not being stopped after rbmq connection lost

connected issue:
457

fix is included in package version 12.0.1 which needs php version 8, but is currently not an option for me.

Steps To Reproduce

  • laravel project version 8 with php 7.3 nad package version 11.3.0.
  • start laravel queue worker ./artisan queue:work
  • disconnect rabbitmq server
  • worker is not stopped

Current behavior

worker not being stopped after rbmq connection lost

Expected behavior

worker should be stopped.

Fix

can you add PR 457 fix also to package version 11.* as an fix version 11.3.1. Then I can update my laravel project withoud my own workarounds

@urosZoretic urosZoretic changed the title laravel 8 with php ^7.3 - allow laravel to end workers with lost connection allow laravel to end workers with lost connection - laravel 8 and php ^7.3 Nov 22, 2023
@khepin
Copy link
Collaborator

khepin commented Nov 27, 2023

PR is merged in maintained versions.

@khepin khepin closed this as completed Nov 27, 2023
@cyppe
Copy link

cyppe commented Mar 5, 2024

It does not work for me. Running 13.3.5 on Laravel 10.46.0.

I had to kill the container (worker) manually. Am I missing some setting? Or is it issue with tries?

I run workers like this:

php /app/artisan queue:work --queue=generate --tries=10 --memory=10000 --timeout=180 rabbitmq

generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder [2024-03-05 08:48:59] docker.ERROR: stream_socket_client(): Unable to connect to tcp://generate-rabbitmq:5672 (Connection timed out) {"exception":"[object] (PhpAmqpLib\\Exception\\AMQPIOException(code: 0): stream_socket_client(): Unable to connect to tcp://generate-rabbitmq
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder [stacktrace]
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #0 /app/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php(253): PhpAmqpLib\\Wire\\IO\\StreamIO->connect()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #1 /app/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php(719): PhpAmqpLib\\Connection\\AbstractConnection->connect()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #2 /app/vendor/vladimir-yuldashev/laravel-queue-rabbitmq/src/Queue/RabbitMQQueue.php(756): PhpAmqpLib\\Connection\\AbstractConnection->channel()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #3 /app/vendor/vladimir-yuldashev/laravel-queue-rabbitmq/src/Queue/RabbitMQQueue.php(748): VladimirYuldashev\\LaravelQueueRabbitMQ\\Queue\\RabbitMQQueue->createChannel()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #4 /app/vendor/vladimir-yuldashev/laravel-queue-rabbitmq/src/Queue/RabbitMQQueue.php(230): VladimirYuldashev\\LaravelQueueRabbitMQ\\Queue\\RabbitMQQueue->getChannel()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #5 /app/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(349): VladimirYuldashev\\LaravelQueueRabbitMQ\\Queue\\RabbitMQQueue->pop()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #6 /app/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(363): Illuminate\\Queue\\Worker->Illuminate\\Queue\\{closure}()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #7 /app/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(162): Illuminate\\Queue\\Worker->getNextJob()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #8 /app/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(137): Illuminate\\Queue\\Worker->daemon()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #9 /app/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(120): Illuminate\\Queue\\Console\\WorkCommand->runWorker()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #10 /app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Queue\\Console\\WorkCommand->handle()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #11 /app/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #12 /app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #13 /app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #14 /app/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\\Container\\BoundMethod::call()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #15 /app/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\\Container\\Container->call()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #16 /app/vendor/symfony/console/Command/Command.php(326): Illuminate\\Console\\Command->execute()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #17 /app/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\\Component\\Console\\Command\\Command->run()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #18 /app/vendor/symfony/console/Application.php(1096): Illuminate\\Console\\Command->run()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #19 /app/vendor/symfony/console/Application.php(324): Symfony\\Component\\Console\\Application->doRunCommand()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #20 /app/vendor/symfony/console/Application.php(175): Symfony\\Component\\Console\\Application->doRun()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #21 /app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\\Component\\Console\\Application->run()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #22 /app/artisan(35): Illuminate\\Foundation\\Console\\Kernel->handle()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #23 {main}
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder "}
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder [2024-03-05 08:49:06] docker.ERROR: stream_socket_client(): Unable to connect to tcp://generate-rabbitmq:5672 (Connection timed out) {"exception":"[object] (PhpAmqpLib\\Exception\\AMQPIOException(code: 0): stream_socket_client(): Unable to connect to tcp://generate-rabbitmq
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder [stacktrace]
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #0 /app/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php(253): PhpAmqpLib\\Wire\\IO\\StreamIO->connect()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #1 /app/vendor/php-amqplib/php-amqplib/PhpAmqpLib/Connection/AbstractConnection.php(719): PhpAmqpLib\\Connection\\AbstractConnection->connect()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #2 /app/vendor/vladimir-yuldashev/laravel-queue-rabbitmq/src/Queue/RabbitMQQueue.php(756): PhpAmqpLib\\Connection\\AbstractConnection->channel()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #3 /app/vendor/vladimir-yuldashev/laravel-queue-rabbitmq/src/Queue/RabbitMQQueue.php(748): VladimirYuldashev\\LaravelQueueRabbitMQ\\Queue\\RabbitMQQueue->createChannel()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #4 /app/vendor/vladimir-yuldashev/laravel-queue-rabbitmq/src/Queue/RabbitMQQueue.php(230): VladimirYuldashev\\LaravelQueueRabbitMQ\\Queue\\RabbitMQQueue->getChannel()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #5 /app/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(349): VladimirYuldashev\\LaravelQueueRabbitMQ\\Queue\\RabbitMQQueue->pop()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #6 /app/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(363): Illuminate\\Queue\\Worker->Illuminate\\Queue\\{closure}()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #7 /app/vendor/laravel/framework/src/Illuminate/Queue/Worker.php(162): Illuminate\\Queue\\Worker->getNextJob()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #8 /app/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(137): Illuminate\\Queue\\Worker->daemon()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #9 /app/vendor/laravel/framework/src/Illuminate/Queue/Console/WorkCommand.php(120): Illuminate\\Queue\\Console\\WorkCommand->runWorker()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #10 /app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Queue\\Console\\WorkCommand->handle()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #11 /app/vendor/laravel/framework/src/Illuminate/Container/Util.php(41): Illuminate\\Container\\BoundMethod::Illuminate\\Container\\{closure}()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #12 /app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(93): Illuminate\\Container\\Util::unwrapIfClosure()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #13 /app/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #14 /app/vendor/laravel/framework/src/Illuminate/Container/Container.php(662): Illuminate\\Container\\BoundMethod::call()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #15 /app/vendor/laravel/framework/src/Illuminate/Console/Command.php(211): Illuminate\\Container\\Container->call()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #16 /app/vendor/symfony/console/Command/Command.php(326): Illuminate\\Console\\Command->execute()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #17 /app/vendor/laravel/framework/src/Illuminate/Console/Command.php(180): Symfony\\Component\\Console\\Command\\Command->run()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #18 /app/vendor/symfony/console/Application.php(1096): Illuminate\\Console\\Command->run()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #19 /app/vendor/symfony/console/Application.php(324): Symfony\\Component\\Console\\Application->doRunCommand()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #20 /app/vendor/symfony/console/Application.php(175): Symfony\\Component\\Console\\Application->doRun()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #21 /app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(201): Symfony\\Component\\Console\\Application->run()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #22 /app/artisan(35): Illuminate\\Foundation\\Console\\Kernel->handle()
generate-queue-worker-default-deployment-55985f965-xpksc log-forwarder #23 {main}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants