replace cache usage with cacherProvider wrapper
This commit is contained in:
parent
ee0dd9614d
commit
e6ac494bea
|
@ -11,6 +11,7 @@ import { MLWorkerWithProxy } from 'utils/machineLearning/worker';
|
||||||
import { logError } from 'utils/sentry';
|
import { logError } from 'utils/sentry';
|
||||||
import mlIDbStorage from 'utils/storage/mlIDbStorage';
|
import mlIDbStorage from 'utils/storage/mlIDbStorage';
|
||||||
import { MLSyncJobResult, MLSyncJob } from './mlSyncJob';
|
import { MLSyncJobResult, MLSyncJob } from './mlSyncJob';
|
||||||
|
import { getCacheProvider } from 'services/cacheService';
|
||||||
|
|
||||||
const LIVE_SYNC_IDLE_DEBOUNCE_SEC = 30;
|
const LIVE_SYNC_IDLE_DEBOUNCE_SEC = 30;
|
||||||
const LIVE_SYNC_QUEUE_TIMEOUT_SEC = 300;
|
const LIVE_SYNC_QUEUE_TIMEOUT_SEC = 300;
|
||||||
|
@ -105,7 +106,7 @@ class MLWorkManager {
|
||||||
this.mlSyncJob = undefined;
|
this.mlSyncJob = undefined;
|
||||||
await this.terminateLiveSyncWorker();
|
await this.terminateLiveSyncWorker();
|
||||||
await mlIDbStorage.clearMLDB();
|
await mlIDbStorage.clearMLDB();
|
||||||
await caches.delete(FACE_CROPS_CACHE_NAME);
|
await getCacheProvider().delete(FACE_CROPS_CACHE_NAME);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
logError(e, 'Failed in ML logout Handler');
|
logError(e, 'Failed in ML logout Handler');
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { getCacheProvider } from 'services/cacheService';
|
||||||
import { compose, Matrix, scale, translate } from 'transformation-matrix';
|
import { compose, Matrix, scale, translate } from 'transformation-matrix';
|
||||||
import { BlobOptions, Dimensions } from 'types/image';
|
import { BlobOptions, Dimensions } from 'types/image';
|
||||||
import {
|
import {
|
||||||
|
@ -43,7 +44,7 @@ export async function storeFaceCropForBlob(
|
||||||
) {
|
) {
|
||||||
const faceCropUrl = `/${faceId}`;
|
const faceCropUrl = `/${faceId}`;
|
||||||
const faceCropResponse = new Response(faceCropBlob);
|
const faceCropResponse = new Response(faceCropBlob);
|
||||||
const faceCropCache = await caches.open(FACE_CROPS_CACHE_NAME);
|
const faceCropCache = await getCacheProvider().open(FACE_CROPS_CACHE_NAME);
|
||||||
await faceCropCache.put(faceCropUrl, faceCropResponse);
|
await faceCropCache.put(faceCropUrl, faceCropResponse);
|
||||||
return {
|
return {
|
||||||
imageUrl: faceCropUrl,
|
imageUrl: faceCropUrl,
|
||||||
|
@ -104,7 +105,7 @@ export async function removeOldFaceCrops(
|
||||||
|
|
||||||
export async function removeFaceCropUrls(faceCropUrls: Array<string>) {
|
export async function removeFaceCropUrls(faceCropUrls: Array<string>) {
|
||||||
console.log('Removing face crop urls: ', faceCropUrls);
|
console.log('Removing face crop urls: ', faceCropUrls);
|
||||||
const faceCropCache = await caches.open(FACE_CROPS_CACHE_NAME);
|
const faceCropCache = await getCacheProvider().open(FACE_CROPS_CACHE_NAME);
|
||||||
const urlRemovalPromises = faceCropUrls?.map((url) =>
|
const urlRemovalPromises = faceCropUrls?.map((url) =>
|
||||||
faceCropCache.delete(url)
|
faceCropCache.delete(url)
|
||||||
);
|
);
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import { FACE_CROPS_CACHE_NAME, MlFileData } from 'types/machineLearning';
|
import { FACE_CROPS_CACHE_NAME, MlFileData } from 'types/machineLearning';
|
||||||
import mlIDbStorage from 'utils/storage/mlIDbStorage';
|
import mlIDbStorage from 'utils/storage/mlIDbStorage';
|
||||||
import * as zip from '@zip.js/zip.js';
|
import * as zip from '@zip.js/zip.js';
|
||||||
|
import { getCacheProvider } from 'services/cacheService';
|
||||||
|
|
||||||
class FileSystemWriter extends zip.Writer {
|
class FileSystemWriter extends zip.Writer {
|
||||||
writableStream: FileSystemWritableFileStream;
|
writableStream: FileSystemWritableFileStream;
|
||||||
|
@ -82,7 +83,7 @@ async function exportMlDataToZipWriter(zipWriter: zip.ZipWriter) {
|
||||||
new zip.TextReader(JSON.stringify(mlDbData))
|
new zip.TextReader(JSON.stringify(mlDbData))
|
||||||
);
|
);
|
||||||
|
|
||||||
const faceCropCache = await caches.open(FACE_CROPS_CACHE_NAME);
|
const faceCropCache = await getCacheProvider().open(FACE_CROPS_CACHE_NAME);
|
||||||
const files =
|
const files =
|
||||||
mlDbData['files'] && (Object.values(mlDbData['files']) as MlFileData[]);
|
mlDbData['files'] && (Object.values(mlDbData['files']) as MlFileData[]);
|
||||||
for (const fileData of files || []) {
|
for (const fileData of files || []) {
|
||||||
|
@ -126,7 +127,7 @@ async function importMlDataFromZipReader(zipReader: zip.ZipReader) {
|
||||||
// console.log(zipEntries);
|
// console.log(zipEntries);
|
||||||
|
|
||||||
const faceCropPath = `caches/${FACE_CROPS_CACHE_NAME}`;
|
const faceCropPath = `caches/${FACE_CROPS_CACHE_NAME}`;
|
||||||
const faceCropCache = await caches.open(FACE_CROPS_CACHE_NAME);
|
const faceCropCache = await getCacheProvider().open(FACE_CROPS_CACHE_NAME);
|
||||||
let mldataEntry;
|
let mldataEntry;
|
||||||
for (const entry of zipEntries) {
|
for (const entry of zipEntries) {
|
||||||
if (entry.filename === 'indexeddb/mldata.json') {
|
if (entry.filename === 'indexeddb/mldata.json') {
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
|
import { getCacheProvider } from 'services/cacheService';
|
||||||
|
|
||||||
export async function cached(
|
export async function cached(
|
||||||
cacheName: string,
|
cacheName: string,
|
||||||
id: string,
|
id: string,
|
||||||
get: () => Promise<Blob>
|
get: () => Promise<Blob>
|
||||||
): Promise<Blob> {
|
): Promise<Blob> {
|
||||||
const cache = await caches.open(cacheName);
|
const cache = await getCacheProvider().open(cacheName);
|
||||||
const cacheResponse = await cache.match(id);
|
const cacheResponse = await cache.match(id);
|
||||||
|
|
||||||
let result: Blob;
|
let result: Blob;
|
||||||
|
@ -27,7 +29,7 @@ export async function getBlobFromCache(
|
||||||
cacheName: string,
|
cacheName: string,
|
||||||
url: string
|
url: string
|
||||||
): Promise<Blob> {
|
): Promise<Blob> {
|
||||||
const cache = await caches.open(cacheName);
|
const cache = await getCacheProvider().open(cacheName);
|
||||||
const response = await cache.match(url);
|
const response = await cache.match(url);
|
||||||
|
|
||||||
return response.blob();
|
return response.blob();
|
||||||
|
|
Loading…
Reference in a new issue