Fix task queue loading
This commit is contained in:
parent
017433fdf9
commit
847ad57f66
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user