Fix task queue loading
This commit is contained in:
		| @@ -146,7 +146,7 @@ export default class Scheduler { | ||||
|         } catch (e) { | ||||
|             console.warn('ACTION ABORTED', e.message); | ||||
|             if (e instanceof TryLaterError) { | ||||
|                 console.warn('TRY AFTER', e.seconds); | ||||
|                 console.warn('TRY', task.id, 'AFTER', e.seconds); | ||||
|                 this.actionQueue.clear(); | ||||
|                 this.taskQueue.postpone(task.id, e.seconds); | ||||
|                 this.nextSleepLong(); | ||||
|   | ||||
| @@ -57,6 +57,7 @@ export class TaskQueue { | ||||
|     postpone(id: TaskId, deltaSeconds: number) { | ||||
|         const [task, items] = this.shiftTask(id); | ||||
|         if (task) { | ||||
|             this.log('POSTPONE', task); | ||||
|             items.push(task.withTime(task.ts + deltaSeconds)); | ||||
|         } | ||||
|         this.flushItems(items); | ||||
| @@ -75,7 +76,15 @@ export class TaskQueue { | ||||
|  | ||||
|     private getItems(): TaskList { | ||||
|         const serialized = localStorage.getItem(QUEUE_NAME); | ||||
|         return serialized !== null ? (JSON.parse(serialized) as TaskList) : []; | ||||
|         const storedItems = | ||||
|             serialized !== null | ||||
|                 ? (JSON.parse(serialized) as Array<{ [key: string]: any }>) | ||||
|                 : []; | ||||
|         const items: TaskList = []; | ||||
|         storedItems.forEach(obj => { | ||||
|             items.push(new Task(obj.id || uniqId(), +obj.ts, obj.cmd)); | ||||
|         }); | ||||
|         return items; | ||||
|     } | ||||
|  | ||||
|     private flushItems(items: TaskList): void { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user