Abhängigkeiten
Im folgenden Beispiel wird ein Webserver nur dann gestartet, wenn die Datenbank bereits läuft.
#
# Dependencies between services during service start
#
wait-for-database:
cmd.run:
- name: |
for i in $(seq 1 5);do
(echo > /dev/tcp/127.0.0.1/3306) >/dev/null 2>&1 && exit 0
sleep 1
done && exit 1
- require_in:
- service: start-webserver
start-webserver:
service.running:
- name: apache2
Verwenden Sie zur Definition der Abhängigkeiten
require_in
und nichtrequires
.
Datenbank herunterfahren nur wenn keine Verbindungen offen sind.
wait-for-database-having-no-connections:
cmd.run:
- name: |
for i in $(seq 1 5);do
mysql -N -s -e "show global status like 'Threads_connected'"|grep -q "10$"&&exit 0
sleep 2
done && exit 1
- require_in:
- service: shutdown-database
shutdown-database:
service.dead:
- name: mysql
- requires:
- wait-for-database-having-no-connections