Skip to content

Commit e546cb8

Browse files
committed
Added isAppExiting to submission signatures
1 parent 0b6a029 commit e546cb8

17 files changed

+48
-32
lines changed

dist/exceptionless.d.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export interface ILog {
2222
}
2323
export interface IEventQueue {
2424
enqueue(event: IEvent): void;
25-
process(): void;
25+
process(isAppExiting?: boolean): void;
2626
suspendProcessing(durationInMinutes?: number, discardFutureQueuedItems?: boolean, clearQueue?: boolean): void;
2727
}
2828
export interface IEnvironmentInfoCollector {
@@ -44,10 +44,10 @@ export interface IStorage<T> {
4444
remove(path: string): void;
4545
}
4646
export interface ISubmissionAdapter {
47-
sendRequest(request: SubmissionRequest, callback: SubmissionCallback): void;
47+
sendRequest(request: SubmissionRequest, callback: SubmissionCallback, isAppExiting?: boolean): void;
4848
}
4949
export interface ISubmissionClient {
50-
postEvents(events: IEvent[], config: Configuration, callback: (response: SubmissionResponse) => void): void;
50+
postEvents(events: IEvent[], config: Configuration, callback: (response: SubmissionResponse) => void, isAppExiting?: boolean): void;
5151
postUserDescription(referenceId: string, description: IUserDescription, config: Configuration, callback: (response: SubmissionResponse) => void): void;
5252
getSettings(config: Configuration, callback: (response: SettingsResponse) => void): void;
5353
}
@@ -128,7 +128,7 @@ export declare class DefaultEventQueue implements IEventQueue {
128128
private _queueTimer;
129129
constructor(config: Configuration);
130130
enqueue(event: IEvent): void;
131-
process(): void;
131+
process(isAppExiting?: boolean): void;
132132
private processSubmissionResponse(response, events);
133133
private ensureQueueTimer();
134134
private onProcessQueue();
@@ -148,7 +148,7 @@ export declare class InMemoryStorage<T> implements IStorage<T> {
148148
}
149149
export declare class DefaultSubmissionClient implements ISubmissionClient {
150150
configurationVersionHeader: string;
151-
postEvents(events: IEvent[], config: Configuration, callback: (response: SubmissionResponse) => void): void;
151+
postEvents(events: IEvent[], config: Configuration, callback: (response: SubmissionResponse) => void, isAppExiting?: boolean): void;
152152
postUserDescription(referenceId: string, description: IUserDescription, config: Configuration, callback: (response: SubmissionResponse) => void): void;
153153
getSettings(config: Configuration, callback: (response: SettingsResponse) => void): void;
154154
private createRequest(config, method, path, data?);
@@ -428,5 +428,5 @@ export declare class DefaultRequestInfoCollector implements IRequestInfoCollecto
428428
getRequestInfo(context: EventPluginContext): IRequestInfo;
429429
}
430430
export declare class DefaultSubmissionAdapter implements ISubmissionAdapter {
431-
sendRequest(request: SubmissionRequest, callback: SubmissionCallback): void;
431+
sendRequest(request: SubmissionRequest, callback: SubmissionCallback, isAppExiting?: boolean): void;
432432
}

dist/exceptionless.js

+5-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/exceptionless.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/exceptionless.min.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/exceptionless.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/exceptionless.node.js

+10-5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/exceptionless.node.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/submitSync.js

+5-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/submitSync.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/exceptionless.node.ts

+2
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,8 @@ process.on(EXIT, function(code: number) {
155155
client.submitLog(EXIT, message, 'Error')
156156
}
157157

158+
config.queue.process(true);
159+
158160
// Application will now exit.
159161
});
160162

src/queue/DefaultEventQueue.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export class DefaultEventQueue implements IEventQueue {
5959
config.storage.save(key, event);
6060
}
6161

62-
public process(): void {
62+
public process(isAppExiting?:boolean): void {
6363
function getEvents(events:{ path:string, value:IEvent }[]):IEvent[] {
6464
var items:IEvent[] = [];
6565
for (var index = 0; index < events.length; index++) {
@@ -104,7 +104,7 @@ export class DefaultEventQueue implements IEventQueue {
104104
this.processSubmissionResponse(response, events);
105105
log.info('Finished processing queue.');
106106
this._processingQueue = false;
107-
});
107+
}, isAppExiting);
108108
} catch (ex) {
109109
log.error(`Error processing queue: ${ex}`);
110110
this.suspendProcessing();

0 commit comments

Comments
 (0)