Vorrei eseguire un webservice e attendere qualche secondo dopo aver ottenuto il risultato.fantoccio su come far funzionare il burattino per qualche secondo
Qual è il modo migliore per ottenere un'attesa nel burattino?
Vorrei eseguire un webservice e attendere qualche secondo dopo aver ottenuto il risultato.fantoccio su come far funzionare il burattino per qualche secondo
Qual è il modo migliore per ottenere un'attesa nel burattino?
È possibile utilizzare il comando linux sleep con exec e metterlo in esecuzione dopo il servizio web. qualcosa di simile:
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",
}
La mia opinione su un'attesa solo locale + riprova configurabile.
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': }