部署全天候运行的 Python 应用程序

部署全天候运行的 Python 应用程序

我想在 Red-hat Linux 上部署一个 Python 应用程序,该应用程序读取 Kafka 流并将数据推送到一些下游进程。
部署/运行我的 Python 应用程序的最佳方法/做法是什么,以便它始终在后台运行并在启动时重新启动?
目标是不断读取 Kafka 流并持续推送数据。

答案1

您应该在或 中.service为您的应用程序创建文件并启用它。如下所示:/etc/systemd/system/usr/lib/systemd/system

[Unit]
Description=My script
After=network.target

[Service]
Type=simple
Restart=always
RestartSec=5
WorkingDirectory=/tmp
StartLimitInterval=0
StartLimitBurst=999999
User=myuser
Group=myuser
ExecStart=/path/to/my/executable/script

[Install]
WantedBy=multi-user.target

例如它将是yourservice.service文件。然后执行systemctl daemon-reloadsystemctl enable yourservice.servicesystemctl start yourservice.service。当您不使用 时,此方法适用virtualenv

答案2

您可以配置 uwsgi 或 gunicorn 作为服务运行,网上应该有示例(我没有添加它们,因为它们很快就会过时)。如果您在服务器上有 systemd,它可能

相关内容