質問: systemd:mongodb後の自動開始サービス ubuntu16.04.1、systemdアプリケーションはmongodbに依存します。アプリケーションとmongodbはどちらも、サービスとしての起動時に起動します。 app.serviceには次の行が含まれます:after=network.target mongod.service 残念ながら、アプリケーションは(データベースへの接続エラーで)失敗します。mongodbが起動して接続の準備ができるまでに時間がかかるためです(後でアプリを起動しても、すべて問題ありません)。mongodbがsystemdに適切な通知を送信すると、type=notify([service]のmongod.serviceセクション内)で問題が解決するようです。しかし、それに関するドキュメントは見つかりませんでした。問題は、mongodbが着信接続の準備ができた後、アプリケーションを自動起動する方法です。
回答: 同様の問題が発生しました... mongodbが接続を受け入れる準備ができたら、mongo-connectorを起動したいと思いました。少しグーグルした後、修正を見つけました。修正は、mongodbユニットファイルのexecstart行の後に次のexecstartpost行を追加することでした。execstart=/usr/bin/mongod --quiet --config /etc/mongod.conf execstartpost=/bin/sh -c 'while ! /usr/bin/mongo --eval "db.version()" > /dev/null 2>&1; do sleep 0.1; done' これは私のubuntu16.04サーバーで正常にテストされています。