Upgrade sentry (#7145)

Upgrave Sentry to v8 and add Sentry Cron monitoring

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Félix Malfait
2024-09-19 18:09:24 +02:00
committed by GitHub
parent b3ed6cb903
commit 3025ac346c
22 changed files with 879 additions and 210 deletions

View File

@ -3,10 +3,10 @@ import { Command, CommandRunner } from 'nest-commander';
import { InjectMessageQueue } from 'src/engine/core-modules/message-queue/decorators/message-queue.decorator';
import { MessageQueue } from 'src/engine/core-modules/message-queue/message-queue.constants';
import { MessageQueueService } from 'src/engine/core-modules/message-queue/services/message-queue.service';
import { MessagingMessageChannelSyncStatusMonitoringCronJob } from 'src/modules/messaging/monitoring/crons/jobs/messaging-message-channel-sync-status-monitoring.cron';
const MESSAGING_MESSAGE_CHANNEL_SYNC_STATUS_MONITORING_CRON_PATTERN =
'2/10 * * * *'; //Every 10 minutes, starting at 2 minutes past the hour
import {
MESSAGING_MESSAGE_CHANNEL_SYNC_STATUS_MONITORING_CRON_PATTERN,
MessagingMessageChannelSyncStatusMonitoringCronJob,
} from 'src/modules/messaging/monitoring/crons/jobs/messaging-message-channel-sync-status-monitoring.cron';
@Command({
name: 'cron:messaging:monitoring:message-channel-sync-status',

View File

@ -4,17 +4,21 @@ import { InjectRepository } from '@nestjs/typeorm';
import snakeCase from 'lodash.snakecase';
import { Repository } from 'typeorm';
import { SentryCronMonitor } from 'src/engine/core-modules/cron/sentry-cron-monitor.decorator';
import { Process } from 'src/engine/core-modules/message-queue/decorators/process.decorator';
import { Processor } from 'src/engine/core-modules/message-queue/decorators/processor.decorator';
import { MessageQueue } from 'src/engine/core-modules/message-queue/message-queue.constants';
import {
Workspace,
WorkspaceActivationStatus,
} from 'src/engine/core-modules/workspace/workspace.entity';
import { Process } from 'src/engine/core-modules/message-queue/decorators/process.decorator';
import { Processor } from 'src/engine/core-modules/message-queue/decorators/processor.decorator';
import { MessageQueue } from 'src/engine/core-modules/message-queue/message-queue.constants';
import { TwentyORMGlobalManager } from 'src/engine/twenty-orm/twenty-orm-global.manager';
import { MessageChannelWorkspaceEntity } from 'src/modules/messaging/common/standard-objects/message-channel.workspace-entity';
import { MessagingTelemetryService } from 'src/modules/messaging/monitoring/services/messaging-telemetry.service';
export const MESSAGING_MESSAGE_CHANNEL_SYNC_STATUS_MONITORING_CRON_PATTERN =
'2/10 * * * *'; //Every 10 minutes, starting at 2 minutes past the hour
@Processor(MessageQueue.cronQueue)
export class MessagingMessageChannelSyncStatusMonitoringCronJob {
private readonly logger = new Logger(
@ -28,6 +32,10 @@ export class MessagingMessageChannelSyncStatusMonitoringCronJob {
private readonly twentyORMGlobalManager: TwentyORMGlobalManager,
) {}
@SentryCronMonitor(
MessagingMessageChannelSyncStatusMonitoringCronJob.name,
MESSAGING_MESSAGE_CHANNEL_SYNC_STATUS_MONITORING_CRON_PATTERN,
)
@Process(MessagingMessageChannelSyncStatusMonitoringCronJob.name)
async handle(): Promise<void> {
this.logger.log('Starting message channel sync status monitoring...');