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 nicht requires.

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

results matching ""

    No results matching ""