Daphne和Systemd:将文件描述符传递给子进程

时间:2018-05-02 19:12:59

标签: python twisted systemd daphne

我尝试使用多处理来运行daphne 2.1。在我的文档中:

  

如果要将多个Daphne实例绑定到a上的同一端口   机器,使用可以监听端口并通过的进程管理器   文件描述符启动进程,然后传递文件   描述符--fd NUM。

我尝试使用套接字(dapnhe.socket):

[Unit]
Description=Daphne Socket worker %i

[Socket]
ListenStream=/usr/local/reduction/dist/daphne.sock
Accept=yes

[Install]
WantedBy=sockets.target

使用服务(daphne@.service

[Unit]
Description=Daphne Service For Django %I
After=syslog.target

Requires=daphne.socket

[Service]
Type=simple
RuntimeDirectory=daphne
PIDFile=/run/daphne.pid
WorkingDirectory=/usr/local/reduction/src

ExecStartPre=/bin/bash -c 'systemctl set-environment FD=`echo %i | tr -d -`'
ExecStart=/bin/bash -c '/usr/local/reduction/venv/bin/daphne -fd ${FD} server.asgi:application'

Restart=always

[Install]
WantedBy=multi-user.target

%i的格式为%d-%d-%d。我只是删除-,然后再将其传递给daphne

这不起作用...... 任何人都知道如何将FD传递给daphne

0 个答案:

没有答案