diff --git a/packages/twenty-server/src/workspace/messaging/commands/crons/fetch-all-workspaces-messages.job.ts b/packages/twenty-server/src/workspace/messaging/commands/crons/fetch-all-workspaces-messages.job.ts index 407095009..9f5712d3a 100644 --- a/packages/twenty-server/src/workspace/messaging/commands/crons/fetch-all-workspaces-messages.job.ts +++ b/packages/twenty-server/src/workspace/messaging/commands/crons/fetch-all-workspaces-messages.job.ts @@ -1,4 +1,4 @@ -import { Inject, Injectable } from '@nestjs/common'; +import { Inject, Injectable, Logger } from '@nestjs/common'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; @@ -8,16 +8,18 @@ import { MessageQueueJob } from 'src/integrations/message-queue/interfaces/messa import { MessageQueue } from 'src/integrations/message-queue/message-queue.constants'; import { MessageQueueService } from 'src/integrations/message-queue/services/message-queue.service'; import { ConnectedAccountService } from 'src/workspace/messaging/repositories/connected-account/connected-account.service'; +import { Workspace } from 'src/core/workspace/workspace.entity'; import { GmailPartialSyncJobData, GmailPartialSyncJob, } from 'src/workspace/messaging/jobs/gmail-partial-sync.job'; -import { Workspace } from 'src/core/workspace/workspace.entity'; @Injectable() export class FetchAllWorkspacesMessagesJob implements MessageQueueJob { + private readonly logger = new Logger(FetchAllWorkspacesMessagesJob.name); + constructor( @InjectRepository(Workspace, 'core') private readonly workspaceRepository: Repository, @@ -42,20 +44,29 @@ export class FetchAllWorkspacesMessagesJob } private async fetchWorkspaceMessages(workspaceId: string): Promise { - const connectedAccounts = - await this.connectedAccountService.getAll(workspaceId); + try { + const connectedAccounts = + await this.connectedAccountService.getAll(workspaceId); - for (const connectedAccount of connectedAccounts) { - await this.messageQueueService.add( - GmailPartialSyncJob.name, - { - workspaceId, - connectedAccountId: connectedAccount.id, - }, - { - retryLimit: 2, - }, + for (const connectedAccount of connectedAccounts) { + await this.messageQueueService.add( + GmailPartialSyncJob.name, + { + workspaceId, + connectedAccountId: connectedAccount.id, + }, + { + retryLimit: 2, + }, + ); + } + } catch (error) { + this.logger.error( + `Error while fetching workspace messages for workspace ${workspaceId}`, ); + this.logger.error(error); + + return; } } }