public function registerError($errorMessage)
{
if (!$this->firstErrorOccurred instanceof EnvironmentProperty) {
$this->firstErrorOccurred = $this->initProp($this->firstErrorOccurredProp, time());
$this->firstErrorOccurred->save();
} elseif (empty($this->firstErrorOccurred->value)) {
$this->firstErrorOccurred->value = time();
$this->firstErrorOccurred->save();
} elseif ($this->isSuspended()) {
//If cloud platform is already suspended we don't keep collecting error messages
return;
} else {
//Checks suspension timeout
if (time() - $this->firstErrorOccurred->value > static::PLATFORM_SUSPEND_INTERVAL) {
//The cloud platform should be suspended
$this->suspend();
}
}
if ($this->lastErrorMessage instanceof EnvironmentProperty) {
$this->lastErrorMessage->value = $errorMessage;
} else {
$this->lastErrorMessage = $this->initProp($this->lastErrorMessageProp, $errorMessage);
}
$this->lastErrorMessage->save();
}