mirror of
https://github.com/nextcloud/all-in-one.git
synced 2026-02-16 02:30:17 +00:00
fix startdomaincheckcontainer logic
Signed-off-by: szaimen <szaimen@e.mail.de>
This commit is contained in:
parent
9b11c817b2
commit
79af222c2d
1 changed files with 17 additions and 7 deletions
|
|
@ -149,22 +149,32 @@ class DockerController
|
||||||
public function StartDomaincheckContainer() : void
|
public function StartDomaincheckContainer() : void
|
||||||
{
|
{
|
||||||
# Don't start if domain is already set
|
# Don't start if domain is already set
|
||||||
if ($this->configurationManager->GetDomain() != '') {
|
if ($this->configurationManager->GetDomain() !== '' || $this->configurationManager->wasStartButtonClicked()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$id = 'nextcloud-aio-domaincheck';
|
$id = 'nextcloud-aio-domaincheck';
|
||||||
|
|
||||||
$container = $this->containerDefinitionFetcher->GetContainerById($id);
|
$cacheKey = 'domaincheckWasStarted';
|
||||||
// don't start if the domaincheck is already running
|
|
||||||
if ($container->GetIdentifier() === $id && $container->GetRunningState() instanceof RunningState) {
|
$domaincheckContainer = $this->containerDefinitionFetcher->GetContainerById($id);
|
||||||
return;
|
$apacheContainer = $this->containerDefinitionFetcher->GetContainerById(self::TOP_CONTAINER);
|
||||||
// don't start if apache is already running
|
// Don't start if apache is already running
|
||||||
} elseif ($container->GetIdentifier() === self::TOP_CONTAINER && $container->GetRunningState() instanceof RunningState) {
|
if ($apacheContainer->GetRunningState() instanceof RunningState) {
|
||||||
return;
|
return;
|
||||||
|
// Don't start if domaincheck is already running
|
||||||
|
} elseif ($domaincheckContainer->GetRunningState() instanceof RunningState) {
|
||||||
|
$domaincheckWasStarted = apcu_fetch($cacheKey);
|
||||||
|
// Start domaincheck again when 10 minutes are over by not returning here
|
||||||
|
if($domaincheckWasStarted !== false && is_string($domaincheckWasStarted)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->PerformRecursiveContainerStart($id);
|
$this->PerformRecursiveContainerStart($id);
|
||||||
|
|
||||||
|
// Cache the start for 10 minutes
|
||||||
|
apcu_add($cacheKey, '1', 600);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function StopDomaincheckContainer() : void
|
private function StopDomaincheckContainer() : void
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue