Skip to content

Commit 8a1ddb4

Browse files
committed
When a checker fails with an exception, reset the status and set the appropriate error message on the meta data.
1 parent ae933ad commit 8a1ddb4

File tree

4 files changed

+40
-12
lines changed

4 files changed

+40
-12
lines changed

Updater/Catalog/Category/UrlKey.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,17 @@ public function refresh(string $initiator): array
4444
$this->metaStorage->setErrorMessage($storageIdentifier, '');
4545
$this->metaStorage->setStartRefreshing($storageIdentifier, $initiator);
4646

47-
$categoryData = $this->urlKeyChecker->execute();
48-
$this->storage->write($storageIdentifier, $categoryData);
47+
try {
48+
$categoryData = $this->urlKeyChecker->execute();
49+
$this->storage->write($storageIdentifier, $categoryData);
4950

50-
$this->metaStorage->setFinishedRefreshing($storageIdentifier);
51+
$this->metaStorage->setFinishedRefreshing($storageIdentifier);
52+
} catch (\Throwable $ex) {
53+
$this->metaStorage->clearStatus($storageIdentifier);
54+
$this->metaStorage->setErrorMessage($storageIdentifier, $ex->getMessage());
55+
56+
throw $ex;
57+
}
5158

5259
return $categoryData;
5360
}

Updater/Catalog/Category/UrlPath.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,17 @@ public function refresh(string $initiator): array
4444
$this->metaStorage->setErrorMessage($storageIdentifier, '');
4545
$this->metaStorage->setStartRefreshing($storageIdentifier, $initiator);
4646

47-
$categoryData = $this->urlPathChecker->execute();
48-
$this->storage->write($storageIdentifier, $categoryData);
47+
try {
48+
$categoryData = $this->urlPathChecker->execute();
49+
$this->storage->write($storageIdentifier, $categoryData);
4950

50-
$this->metaStorage->setFinishedRefreshing($storageIdentifier);
51+
$this->metaStorage->setFinishedRefreshing($storageIdentifier);
52+
} catch (\Throwable $ex) {
53+
$this->metaStorage->clearStatus($storageIdentifier);
54+
$this->metaStorage->setErrorMessage($storageIdentifier, $ex->getMessage());
55+
56+
throw $ex;
57+
}
5158

5259
return $categoryData;
5360
}

Updater/Catalog/Product/UrlKey.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,17 @@ public function refresh(string $initiator): array
4444
$this->metaStorage->setErrorMessage($storageIdentifier, '');
4545
$this->metaStorage->setStartRefreshing($storageIdentifier, $initiator);
4646

47-
$productData = $this->urlKeyChecker->execute();
48-
$this->storage->write($storageIdentifier, $productData);
47+
try {
48+
$productData = $this->urlKeyChecker->execute();
49+
$this->storage->write($storageIdentifier, $productData);
4950

50-
$this->metaStorage->setFinishedRefreshing($storageIdentifier);
51+
$this->metaStorage->setFinishedRefreshing($storageIdentifier);
52+
} catch (\Throwable $ex) {
53+
$this->metaStorage->clearStatus($storageIdentifier);
54+
$this->metaStorage->setErrorMessage($storageIdentifier, $ex->getMessage());
55+
56+
throw $ex;
57+
}
5158

5259
return $productData;
5360
}

Updater/Catalog/Product/UrlPath.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,17 @@ public function refresh(string $initiator): array
4444
$this->metaStorage->setErrorMessage($storageIdentifier, '');
4545
$this->metaStorage->setStartRefreshing($storageIdentifier, $initiator);
4646

47-
$productData = $this->urlPathChecker->execute();
48-
$this->storage->write($storageIdentifier, $productData);
47+
try {
48+
$productData = $this->urlPathChecker->execute();
49+
$this->storage->write($storageIdentifier, $productData);
4950

50-
$this->metaStorage->setFinishedRefreshing($storageIdentifier);
51+
$this->metaStorage->setFinishedRefreshing($storageIdentifier);
52+
} catch (\Throwable $ex) {
53+
$this->metaStorage->clearStatus($storageIdentifier);
54+
$this->metaStorage->setErrorMessage($storageIdentifier, $ex->getMessage());
55+
56+
throw $ex;
57+
}
5158

5259
return $productData;
5360
}

0 commit comments

Comments
 (0)