systemdにRabbitMQ RPCキューに対して複数の処理サーバーを起動させるようにしたいと思います。私SystemDはNプロセスを生成しますか?単一のsystemctl
コマンドを使用してサーバーを起動/停止します。
私のユニットファイルとテンプレートファイルは次のとおりです。
[Unit]
Description=RabbitMQ rpc queue server instance %i for ansiblePB_rpc_queue
Requires=rabbitmq-server.servic
After=multi-user.target rabbitmq-server.service
StopWhenUnneeded=yes
[Service]
PermissionsStartOnly=true
Type=idle
User=secretuser
ExecStart=/usr/bin/python /app/bin/ansibleplaybookserver.py
Restart=always
RestartSec=10
[Install]
WantedBy=ansiblePB.servers.service
ansiblePB.servers.service
:
[Unit]
Description=Controlling service for the multiple ansiblePB servers
[Install]
WantedBy=multi-user.target
ワークフロー:
サーバーを有効にします。
sudo systemctl enable ansibleserver@{1..2}.service
すべては最初から始まります
sudo systemctl start ansiblePB.servers.service
次のように失敗します。
Failed to start ansiblePB.servers.service: Unit is not loaded properly: Invalid argument.
See system logs and 'systemctl status ansiblePB.servers.service' for details.
状態は次のとおりです。
ansiblePB.servers.service lacks both ExecStart= and ExecStop= setting. Refusing.
ExecStart
ドキュメントには最低限必要があるかどうかが記載されていますが、上記のExecStop
Webリンクの例にはどちらも含まれておらず、何を設定するのかわかりません。
どんなアイデアがありますか?
ベストアンサー1
使うべきだと思います。.target
サービスではなく ansiblePB ファイルです。
それがあなたがリンクした質問の目的です。