1
0
Fork 0
mirror of synced 2024-09-29 08:51:28 +13:00

timestamp -> datetime on file cache

This commit is contained in:
shimon 2022-08-30 15:44:37 +03:00
parent b96b2ea2fb
commit 69066cfc5e
4 changed files with 14 additions and 11 deletions

View file

@ -2860,14 +2860,14 @@ $collections = [
],
[
'$id' => 'accessedAt',
'type' => Database::VAR_INTEGER,
'type' => Database::VAR_DATETIME,
'format' => '',
'size' => 0,
'signed' => false,
'required' => true,
'required' => false,
'default' => null,
'array' => false,
'filters' => [],
'filters' => ['datetime'],
],
[
'$id' => 'signature',

View file

@ -358,6 +358,7 @@ App::shutdown()
if ($useCache) {
$resource = null;
$data = $response->getPayload();
if (!empty($data['payload'])) {
$pattern = $route->getLabel('cache.resource', null);
if (!empty($pattern)) {
@ -365,7 +366,6 @@ App::shutdown()
}
$key = md5($request->getURI() . implode('*', $request->getParams()));
$data = json_encode([
'content-type' => $response->getContentType(),
'payload' => base64_encode($data['payload']),
@ -373,15 +373,18 @@ App::shutdown()
$signature = md5($data);
$cacheLog = $dbForProject->getDocument('cache', $key);
$now = date('d-m-Y H:i:s', time());
if ($cacheLog->isEmpty()) {
Authorization::skip(fn () => $dbForProject->createDocument('cache', new Document([
'$id' => $key,
'resource' => $resource,
'accessedAt' => \time(),
'accessedAt' => $now,
'signature' => $signature,
])));
} elseif (date('Y/m/d', \time()) > date('Y/m/d', $cacheLog->getAttribute('accessedAt'))) {
$cacheLog->setAttribute('accessedAt', \time());
} elseif (date('Y/m/d', \time()) > date('Y/m/d', strtotime($cacheLog->getAttribute('accessedAt')))) {
var_dump('update');
var_dump($now);
$cacheLog->setAttribute('accessedAt', $now);
Authorization::skip(fn () => $dbForProject->updateDocument('cache', $cacheLog->getId(), $cacheLog));
}

View file

@ -112,7 +112,7 @@ class DeletesV1 extends Worker
$this->deleteCacheByResource($project->getId());
break;
case DELETE_TYPE_CACHE_BY_TIMESTAMP:
$this->deleteCacheByTimestamp();
$this->deleteCacheByDate();
break;
default:
Console::error('No delete operation for type: ' . $type);
@ -134,10 +134,10 @@ class DeletesV1 extends Worker
]);
}
protected function deleteCacheByTimestamp(): void
protected function deleteCacheByDate(): void
{
$this->deleteCacheFiles([
Query::lessThan('accessedAt', $this->args['timestamp']),
Query::lessThan('accessedAt', $this->args['datetime']),
]);
}

2
composer.lock generated
View file

@ -5391,5 +5391,5 @@
"platform-overrides": {
"php": "8.0"
},
"plugin-api-version": "2.3.0"
"plugin-api-version": "2.2.0"
}