Additional logging, more reliable contact/group sync fetch
This commit is contained in:
		
					parent
					
						
							
								8e1a30d720
							
						
					
				
			
			
				commit
				
					
						efc237d106
					
				
			
		
					 11 changed files with 86 additions and 16 deletions
				
			
		| 
						 | 
				
			
			@ -241,6 +241,8 @@ export class SignalProtocolStore extends EventEmitter {
 | 
			
		|||
 | 
			
		||||
  sessionQueues = new Map<SessionIdType, PQueue>();
 | 
			
		||||
 | 
			
		||||
  sessionQueueJobCounter = 0;
 | 
			
		||||
 | 
			
		||||
  private readonly identityQueues = new Map<UUIDStringType, PQueue>();
 | 
			
		||||
 | 
			
		||||
  private currentZone?: Zone;
 | 
			
		||||
| 
						 | 
				
			
			@ -703,13 +705,31 @@ export class SignalProtocolStore extends EventEmitter {
 | 
			
		|||
 | 
			
		||||
  async enqueueSessionJob<T>(
 | 
			
		||||
    qualifiedAddress: QualifiedAddress,
 | 
			
		||||
    name: string,
 | 
			
		||||
    task: () => Promise<T>,
 | 
			
		||||
    zone: Zone = GLOBAL_ZONE
 | 
			
		||||
  ): Promise<T> {
 | 
			
		||||
    this.sessionQueueJobCounter += 1;
 | 
			
		||||
    const id = this.sessionQueueJobCounter;
 | 
			
		||||
 | 
			
		||||
    const waitStart = Date.now();
 | 
			
		||||
 | 
			
		||||
    return this.withZone(zone, 'enqueueSessionJob', async () => {
 | 
			
		||||
      const queue = this._getSessionQueue(qualifiedAddress);
 | 
			
		||||
 | 
			
		||||
      return queue.add<T>(task);
 | 
			
		||||
      const waitTime = Date.now() - waitStart;
 | 
			
		||||
      log.info(
 | 
			
		||||
        `enqueueSessionJob(${id}): queuing task ${name}, waited ${waitTime}ms`
 | 
			
		||||
      );
 | 
			
		||||
      const queueStart = Date.now();
 | 
			
		||||
 | 
			
		||||
      return queue.add<T>(() => {
 | 
			
		||||
        const queueTime = Date.now() - queueStart;
 | 
			
		||||
        log.info(
 | 
			
		||||
          `enqueueSessionJob(${id}): running task ${name}, waited ${queueTime}ms`
 | 
			
		||||
        );
 | 
			
		||||
        return task();
 | 
			
		||||
      });
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1322,6 +1342,7 @@ export class SignalProtocolStore extends EventEmitter {
 | 
			
		|||
 | 
			
		||||
    await this.enqueueSessionJob(
 | 
			
		||||
      addr,
 | 
			
		||||
      `_archiveSession(${addr.toString()})`,
 | 
			
		||||
      async () => {
 | 
			
		||||
        const item = entry.hydrated
 | 
			
		||||
          ? entry.item
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue