Add time format

This commit is contained in:
Anton Vakhrushev 2020-03-31 12:37:17 +03:00
parent 847ad57f66
commit 0ffbf1c1a9
6 changed files with 25 additions and 5 deletions

12
package-lock.json generated
View File

@ -330,6 +330,12 @@
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
"dev": true "dev": true
}, },
"@types/dateformat": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/@types/dateformat/-/dateformat-3.0.1.tgz",
"integrity": "sha512-KlPPdikagvL6ELjWsljbyDIPzNCeliYkqRpI+zea99vBBbCIA5JNshZAwQKTON139c87y9qvTFVgkFd14rtS4g==",
"dev": true
},
"@types/jquery": { "@types/jquery": {
"version": "3.3.34", "version": "3.3.34",
"resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.3.34.tgz", "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.3.34.tgz",
@ -1978,6 +1984,12 @@
"integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
"dev": true "dev": true
}, },
"dateformat": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
"integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
"dev": true
},
"debug": { "debug": {
"version": "3.2.6", "version": "3.2.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",

View File

@ -22,12 +22,14 @@
}, },
"devDependencies": { "devDependencies": {
"@types/chai": "^4.2.11", "@types/chai": "^4.2.11",
"@types/dateformat": "^3.0.1",
"@types/jquery": "^3.3.34", "@types/jquery": "^3.3.34",
"@types/mocha": "^7.0.2", "@types/mocha": "^7.0.2",
"@types/nanoid": "^2.1.0", "@types/nanoid": "^2.1.0",
"@types/node": "^13.9.4", "@types/node": "^13.9.4",
"@types/url-parse": "^1.4.3", "@types/url-parse": "^1.4.3",
"chai": "^4.2.0", "chai": "^4.2.0",
"dateformat": "^3.0.3",
"jquery": "^3.4.1", "jquery": "^3.4.1",
"mocha": "^7.1.1", "mocha": "^7.1.1",
"mocha-junit-reporter": "^1.23.3", "mocha-junit-reporter": "^1.23.3",

View File

@ -21,7 +21,7 @@ export default class UpgradeBuildingAction extends ActionController {
this.scheduler.completeTask(task.id); this.scheduler.completeTask(task.id);
btn.trigger('click'); btn.trigger('click');
} else { } else {
throw new TryLaterError(60, 'No upgrade button, try later'); throw new TryLaterError(5 * 60, 'No upgrade button, try later');
} }
return null; return null;
} }

View File

@ -148,7 +148,7 @@ export default class Scheduler {
if (e instanceof TryLaterError) { if (e instanceof TryLaterError) {
console.warn('TRY', task.id, 'AFTER', e.seconds); console.warn('TRY', task.id, 'AFTER', e.seconds);
this.actionQueue.clear(); this.actionQueue.clear();
this.taskQueue.postpone(task.id, e.seconds); this.taskQueue.postpone(task.id, timestamp() + e.seconds);
this.nextSleepLong(); this.nextSleepLong();
} }
} }

View File

@ -54,11 +54,11 @@ export class TaskQueue {
this.flushItems(items); this.flushItems(items);
} }
postpone(id: TaskId, deltaSeconds: number) { postpone(id: TaskId, newTs: number) {
const [task, items] = this.shiftTask(id); const [task, items] = this.shiftTask(id);
if (task) { if (task) {
this.log('POSTPONE', task); this.log('POSTPONE', task);
items.push(task.withTime(task.ts + deltaSeconds)); items.push(task.withTime(newTs));
} }
this.flushItems(items); this.flushItems(items);
} }

View File

@ -1,8 +1,14 @@
import { TaskList } from './Storage/TaskQueue'; import { TaskList } from './Storage/TaskQueue';
import { uniqId } from './utils'; import { uniqId } from './utils';
import dateFormat = require('dateformat');
const ID = uniqId(); const ID = uniqId();
function formatDate(ts: number) {
const d = new Date(ts * 1000);
return dateFormat(d, 'HH:MM:ss');
}
export default class TaskQueueRenderer { export default class TaskQueueRenderer {
render(tasks: TaskList) { render(tasks: TaskList) {
const ul = jQuery('<ul></ul>') const ul = jQuery('<ul></ul>')
@ -19,7 +25,7 @@ export default class TaskQueueRenderer {
tasks.forEach(task => { tasks.forEach(task => {
ul.append( ul.append(
jQuery('<li></li>').text( jQuery('<li></li>').text(
task.ts + formatDate(task.ts) +
' ' + ' ' +
task.cmd.name + task.cmd.name +
' ' + ' ' +