systemd を使用してデーモンの「n」個のコピーを開始します。

systemd を使用してデーモンの「n」個のコピーを開始します。

systemdにRabbitMQ RPCキューに対して複数の処理サーバーを起動させるようにしたいと思います。私SystemDはNプロセスを生成しますか?単一のsystemctlコマンドを使用してサーバーを起動/停止します。

私のユニットファイルとテンプレートファイルは次のとおりです。

[email protected]:

[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

ワークフロー:

  1. サーバーを有効にします。

    sudo systemctl enable ansibleserver@{1..2}.service
    
  2. すべては最初から始まります

    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ドキュメントには最低限必要があるかどうかが記載されていますが、上記のExecStopWebリンクの例にはどちらも含まれておらず、何を設定するのかわかりません。

どんなアイデアがありますか?

ベストアンサー1

使うべきだと思います。.targetサービスではなく ansiblePB ファイルです。

それがあなたがリンクした質問の目的です。

おすすめ記事