Symfony Messenger 不会总是重启
Posted
技术标签:
【中文标题】Symfony Messenger 不会总是重启【英文标题】:Symfony messenger won't always restart 【发布时间】:2021-04-19 14:01:05 【问题描述】:我目前正在开发一个 Symfony 4 应用程序,该应用程序使用 Symfony Messenger 与专门的工作人员一起处理一些后台作业。
我使用 systemd v241 运行 worker,配置如下:
[Unit]
Description=Symfony Worker
StartLimitIntervalSec=0
StartLimitBurst=0
[Service]
WorkingDirectory=/symfony-app/current
ExecStart=/bin/bash -lc 'bin/console messenger:consume async --memory-limit=512M --time-limit=3600'
ExecStop=/bin/bash -lc 'bin/console messenger:stop-workers'
StandardOutput=syslog
StandardError=syslog
Restart=always
PrivateTmp=true
NoNewPrivileges=true
RestartSec=5s
[Install]
WantedBy=default.target
正如documentation 中所写,worker 不能永远运行,因此它每小时或每次达到 512M 的内存限制时都会重新启动。
我的问题是它并不总是重新启动。有时会,但有时不会,我唯一得到的是日志中的Main process exited, code=killed, status=15/TERM
。
知道为什么以及如何解决这个问题吗?
【问题讨论】:
【参考方案1】:Lingering 未在负责启动服务的用户上启用。启用它解决了我的问题。
【讨论】:
感谢您添加解决方案,而不仅仅是写“nvm,找到解决方案”以上是关于Symfony Messenger 不会总是重启的主要内容,如果未能解决你的问题,请参考以下文章
Symfony 5 Messenger 不自动配置消息处理程序
Symfony:我如何在 Messenger 中使用远程过程调用(RPC)?
Symfony Messenger 使用 Apache Kafka 作为队列传输
Symfony messenger 和 mailer:如何添加 binding_key?