Skip to content

Commit 6af3049

Browse files
authored
make sure ingest service is up and running (#48)
1 parent 041f29d commit 6af3049

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

src/OpencastApi/Opencast.php

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,21 @@ private function setIngestProperty($config)
193193
if (!empty($servicesJson['body']) && property_exists($servicesJson['body'], 'services')) {
194194
$service = $servicesJson['body']->services->service;
195195
if (is_array($service)) {
196-
// Choose random ingest service.
197-
$ingestService = $service[array_rand($service)];
196+
// Filter running ingest services.
197+
$running_services = array_filter($service, function ($s) {
198+
return $s->active && $s->online;
199+
});
200+
// If no running services, return.
201+
if (empty($running_services)) {
202+
return;
203+
}
204+
// Take the first running service.
205+
$ingestService = reset($running_services);
198206
} else {
199-
// There is only one.
207+
// There is only one and is running.
208+
if (!($service->active && $service->online)) {
209+
return;
210+
}
200211
$ingestService = $service;
201212
}
202213

0 commit comments

Comments
 (0)