mirror of
https://github.com/wukko/cobalt.git
synced 2025-05-25 02:52:11 +02:00
web/workers/fetch: retry only when needed & reduce attempts to 3
This commit is contained in:
parent
a2d12ce82f
commit
9cf40549e3
@ -1,8 +1,8 @@
|
||||
{
|
||||
"no_final_file": "no final file output",
|
||||
"worker_didnt_start": "couldn't start a processing worker",
|
||||
"generic_error": "processing pipeline crashed, see console for details",
|
||||
|
||||
"fetch.crashed": "fetch worker crashed, see console for details",
|
||||
"fetch.bad_response": "couldn't access the file tunnel",
|
||||
"fetch.no_file_reader": "couldn't write a file to cache",
|
||||
"fetch.empty_tunnel": "file tunnel is empty, try again",
|
||||
|
@ -3,20 +3,19 @@ import * as Storage from "$lib/storage";
|
||||
let attempts = 0;
|
||||
|
||||
const fetchFile = async (url: string) => {
|
||||
const error = async (code: string) => {
|
||||
const error = async (code: string, retry: boolean = true) => {
|
||||
attempts++;
|
||||
|
||||
if (attempts <= 5) {
|
||||
// try 5 more times before actually failing
|
||||
// try 3 more times before actually failing
|
||||
if (retry && attempts <= 3) {
|
||||
await fetchFile(url);
|
||||
} else {
|
||||
// if it still fails, then throw an error and quit
|
||||
self.postMessage({
|
||||
cobaltFetchWorker: {
|
||||
error: code,
|
||||
}
|
||||
});
|
||||
self.close();
|
||||
return self.close();
|
||||
}
|
||||
};
|
||||
|
||||
@ -75,7 +74,7 @@ const fetchFile = async (url: string) => {
|
||||
const file = Storage.retype(await storage.res(), contentType);
|
||||
|
||||
if (contentLength && Number(contentLength) !== file.size) {
|
||||
return error("queue.fetch.corrupted_file");
|
||||
return error("queue.fetch.corrupted_file", false);
|
||||
}
|
||||
|
||||
self.postMessage({
|
||||
@ -86,7 +85,7 @@ const fetchFile = async (url: string) => {
|
||||
} catch (e) {
|
||||
console.error("error from the fetch worker:");
|
||||
console.error(e);
|
||||
return error("queue.generic_error");
|
||||
return error("queue.fetch.crashed", false);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user