2013-01-23 2 views

답변

12

exec와 함께 linux sleep 명령을 사용하고 웹 서비스 후에 실행할 수 있습니다. 다음과 같습니다.

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

로컬 전용 대기 + 구성 가능한 재 시도.

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': } 
관련 문제