Skip to content

Commit 83eae7a

Browse files
committed
Don't start the queue timer unless config is valid!
1 parent f28956d commit 83eae7a

7 files changed

+56
-24
lines changed

dist/exceptionless.js

Lines changed: 16 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/exceptionless.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/exceptionless.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/exceptionless.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/exceptionless.node.js

Lines changed: 16 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/exceptionless.node.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/queue/DefaultEventQueue.ts

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,20 +46,33 @@ export class DefaultEventQueue implements IEventQueue {
4646
}
4747

4848
public enqueue(event: IEvent): void {
49+
const eventWillNotBeQueued: string = 'The event will not be queued.'; // optimization for minifier.
4950
let config: Configuration = this._config; // Optimization for minifier.
50-
this.ensureQueueTimer();
51+
let log: ILog = config.log; // Optimization for minifier.
52+
53+
if (!config.enabled) {
54+
log.info(`Configuration is disabled. ${eventWillNotBeQueued}`);
55+
return;
56+
}
57+
58+
if (!config.isValid) {
59+
log.info(`Invalid Api Key. ${eventWillNotBeQueued}`);
60+
return;
61+
}
5162

5263
if (this.areQueuedItemsDiscarded()) {
53-
config.log.info('Queue items are currently being discarded. The event will not be queued.');
64+
log.info(`Queue items are currently being discarded. ${eventWillNotBeQueued}`);
5465
return;
5566
}
5667

68+
this.ensureQueueTimer();
69+
5770
let timestamp = config.storage.queue.save(event);
5871
let logText = `type=${event.type} ${!!event.reference_id ? 'refid=' + event.reference_id : ''}`;
5972
if (timestamp) {
60-
config.log.info(`Enqueuing event: ${timestamp} ${logText}`);
73+
log.info(`Enqueuing event: ${timestamp} ${logText}`);
6174
} else {
62-
config.log.error(`Could not enqueue event ${logText}`);
75+
log.error(`Could not enqueue event ${logText}`);
6376
}
6477
}
6578

@@ -68,8 +81,6 @@ export class DefaultEventQueue implements IEventQueue {
6881
let config: Configuration = this._config; // Optimization for minifier.
6982
let log: ILog = config.log; // Optimization for minifier.
7083

71-
this.ensureQueueTimer();
72-
7384
if (this._processingQueue) {
7485
return;
7586
}
@@ -86,6 +97,7 @@ export class DefaultEventQueue implements IEventQueue {
8697
}
8798

8899
this._processingQueue = true;
100+
this.ensureQueueTimer();
89101

90102
try {
91103
let events = config.storage.queue.get(config.submissionBatchSize);
@@ -118,7 +130,7 @@ export class DefaultEventQueue implements IEventQueue {
118130
this._suspendProcessingUntil = new Date(new Date().getTime() + (durationInMinutes * 60000));
119131

120132
if (discardFutureQueuedItems) {
121-
this._discardQueuedItemsUntil = new Date(new Date().getTime() + (durationInMinutes * 60000));
133+
this._discardQueuedItemsUntil = this._suspendProcessingUntil;
122134
}
123135

124136
if (clearQueue) {

0 commit comments

Comments
 (0)