@@ -3,7 +3,7 @@ import { ILog } from '../logging/ILog';
33import { SubmissionResponse } from '../submission/SubmissionResponse' ;
44import { IEvent } from '../models/IEvent' ;
55import { IEventQueue } from '../queue/IEventQueue' ;
6- import { Utils } from '../Utils ' ;
6+ import { IStorageItem } from '../storage/IStorageItem ' ;
77
88export class DefaultEventQueue implements IEventQueue {
99 /**
@@ -54,21 +54,16 @@ export class DefaultEventQueue implements IEventQueue {
5454 return ;
5555 }
5656
57- let key = `ex-q-${ new Date ( ) . toJSON ( ) } -${ Utils . randomNumber ( ) } ` ;
58- config . log . info ( `Enqueuing event: ${ key } type=${ event . type } ${ ! ! event . reference_id ? 'refid=' + event . reference_id : '' } ` ) ;
59- config . storage . save ( key , event ) ;
57+ let timestamp = config . storage . queue . save ( event ) ;
58+ let logText = `type=${ event . type } ${ ! ! event . reference_id ? 'refid=' + event . reference_id : '' } ` ;
59+ if ( timestamp ) {
60+ config . log . info ( `Enqueuing event: ${ timestamp } ${ logText } ` ) ;
61+ } else {
62+ config . log . error ( `Could not enqueue event ${ logText } ` ) ;
63+ }
6064 }
6165
6266 public process ( isAppExiting ?: boolean ) : void {
63- function getEvents ( events : { path : string , value : IEvent } [ ] ) : IEvent [ ] {
64- let items : IEvent [ ] = [ ] ;
65- for ( let index = 0 ; index < events . length ; index ++ ) {
66- items . push ( events [ index ] . value ) ;
67- }
68-
69- return items ;
70- }
71-
7267 const queueNotProcessed : string = 'The queue will not be processed.' ; // optimization for minifier.
7368 let config : Configuration = this . _config ; // Optimization for minifier.
7469 let log : ILog = config . log ; // Optimization for minifier.
@@ -93,14 +88,14 @@ export class DefaultEventQueue implements IEventQueue {
9388 this . _processingQueue = true ;
9489
9590 try {
96- let events = config . storage . getList ( 'ex-q' , config . submissionBatchSize ) ;
91+ let events = config . storage . queue . get ( config . submissionBatchSize ) ;
9792 if ( ! events || events . length === 0 ) {
9893 this . _processingQueue = false ;
9994 return ;
10095 }
10196
10297 log . info ( `Sending ${ events . length } events to ${ config . serverUrl } .` ) ;
103- config . submissionClient . postEvents ( getEvents ( events ) , config , ( response : SubmissionResponse ) => {
98+ config . submissionClient . postEvents ( events . map ( e => e . value ) , config , ( response : SubmissionResponse ) => {
10499 this . processSubmissionResponse ( response , events ) ;
105100 log . info ( 'Finished processing queue.' ) ;
106101 this . _processingQueue = false ;
@@ -128,7 +123,7 @@ export class DefaultEventQueue implements IEventQueue {
128123
129124 if ( clearQueue ) {
130125 // Account is over the limit and we want to ensure that the sample size being sent in will contain newer errors.
131- this . removeEvents ( config . storage . getList ( 'ex-q' ) ) ;
126+ config . storage . queue . clear ( ) ;
132127 }
133128 }
134129
@@ -152,7 +147,7 @@ export class DefaultEventQueue implements IEventQueue {
152147 }
153148 }
154149
155- private processSubmissionResponse ( response : SubmissionResponse , events : { path : string , value : IEvent } [ ] ) : void {
150+ private processSubmissionResponse ( response : SubmissionResponse , events : IStorageItem [ ] ) : void {
156151 const noSubmission : string = 'The event will not be submitted.' ; // Optimization for minifier.
157152 let config : Configuration = this . _config ; // Optimization for minifier.
158153 let log : ILog = config . log ; // Optimization for minifier.
@@ -212,9 +207,9 @@ export class DefaultEventQueue implements IEventQueue {
212207 }
213208 }
214209
215- private removeEvents ( events : { path : string , value : IEvent } [ ] ) {
210+ private removeEvents ( events : IStorageItem [ ] ) {
216211 for ( let index = 0 ; index < ( events || [ ] ) . length ; index ++ ) {
217- this . _config . storage . remove ( events [ index ] . path ) ;
212+ this . _config . storage . queue . remove ( events [ index ] . timestamp ) ;
218213 }
219214 }
220215}
0 commit comments