2013-01-23 15 views

Odpowiedz

12

Można użyć polecenia sleep systemu Linux przy użyciu komendy exec i uruchomić go po serwisie WWW. coś w stylu:

exec { 'wait_for_my_web_service' : 
    require => Service["my_web_service"], 
    command => "sleep 10 && /run/my/command/to/get/results/from/the/web/service", 
    path => "/usr/bin:/bin", 
} 
1

Moje podejście do oczekiwania tylko lokalnie + konfigurowalne.

define wait_for_port ($protocol = 'tcp', $retry = 10) { 
    $port = $title 
    exec { "wait-for-port${port}": 
    command => "until fuser ${port}/${protocol}; do i=\$[i+1]; [ \$i -gt ${retry} ] && break || sleep 1; done", 
    provider => 'shell', 
    } 
} 

wait_for_port { '3000': } 
Powiązane problemy