diff options
author | Brandon Millman <brandon.millman@gmail.com> | 2018-02-08 03:00:42 +0800 |
---|---|---|
committer | Brandon Millman <brandon.millman@gmail.com> | 2018-02-08 03:00:42 +0800 |
commit | 9ff4cacf0f9122c035537632d68169d7c2d5763f (patch) | |
tree | 6a27330cc3b1b2076e933a573312eaac2948b40b /packages/testnet-faucets/src/ts/dispatch_queue.ts | |
parent | f3c6cce4559d096a2f3babfc7af670d078a6f0dd (diff) | |
download | dexon-0x-contracts-9ff4cacf0f9122c035537632d68169d7c2d5763f.tar dexon-0x-contracts-9ff4cacf0f9122c035537632d68169d7c2d5763f.tar.gz dexon-0x-contracts-9ff4cacf0f9122c035537632d68169d7c2d5763f.tar.bz2 dexon-0x-contracts-9ff4cacf0f9122c035537632d68169d7c2d5763f.tar.lz dexon-0x-contracts-9ff4cacf0f9122c035537632d68169d7c2d5763f.tar.xz dexon-0x-contracts-9ff4cacf0f9122c035537632d68169d7c2d5763f.tar.zst dexon-0x-contracts-9ff4cacf0f9122c035537632d68169d7c2d5763f.zip |
Addressed review comments
Diffstat (limited to 'packages/testnet-faucets/src/ts/dispatch_queue.ts')
-rw-r--r-- | packages/testnet-faucets/src/ts/dispatch_queue.ts | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/packages/testnet-faucets/src/ts/dispatch_queue.ts b/packages/testnet-faucets/src/ts/dispatch_queue.ts index 94d094203..672511619 100644 --- a/packages/testnet-faucets/src/ts/dispatch_queue.ts +++ b/packages/testnet-faucets/src/ts/dispatch_queue.ts @@ -1,6 +1,9 @@ import { intervalUtils } from '@0xproject/utils'; import * as _ from 'lodash'; +import { errorReporter } from './error_reporter'; +import { utils } from './utils'; + const MAX_QUEUE_SIZE = 500; const DEFAULT_QUEUE_INTERVAL_MS = 1000; @@ -13,11 +16,11 @@ export class DispatchQueue { this._queue = []; this._start(); } - public add(task: () => Promise<void>): boolean { + public add(taskAsync: () => Promise<void>): boolean { if (this.isFull()) { return false; } - this._queue.push(task); + this._queue.push(taskAsync); return true; } public size(): number { @@ -34,14 +37,18 @@ export class DispatchQueue { private _start() { this._queueIntervalIdIfExists = intervalUtils.setAsyncExcludingInterval( async () => { - const task = this._queue.shift(); - if (_.isUndefined(task)) { + const taskAsync = this._queue.shift(); + if (_.isUndefined(taskAsync)) { return Promise.resolve(); } - await task(); + await taskAsync(); }, this._queueIntervalMs, - _.noop, + (err: Error) => { + utils.consoleLog(`Unexpected err: ${err} - ${JSON.stringify(err)}`); + // tslint:disable-next-line:no-floating-promises + errorReporter.reportAsync(err); + }, ); } } |