Files
calendar/packages/features/trigger.config.ts
T
sean-brydonGitHubDevin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
442779d08d feat: monthly-proration-tasker (#26870)
* feat: monthly-proration-taskerh

* remove cronjob from tasker implementation

* feat: add DI for MonthlyProrationService and TriggerDevLoggerServiceModule

- Create TriggerDevLoggerServiceModule for DI injection of TriggerDevLogger
- Add tokens for TriggerDevLogger in shared.tokens.ts
- Create MonthlyProrationService DI module and container
- Update processMonthlyProrationBatch.ts to use DI container
- Use redactError in Tasker.ts to avoid logging sensitive information

Co-Authored-By: sean@cal.com <Sean@brydon.io>

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-01-16 20:58:51 +00:00

61 lines
2.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import process from "node:process";
import { syncVercelEnvVars } from "@trigger.dev/build/extensions/core";
import { defineConfig } from "@trigger.dev/sdk";
import dotEnv from "dotenv";
dotEnv.config({ path: "../../.env" });
const canSyncEnvVars = Boolean(
process.env.TRIGGER_DEV_VERCEL_ACCESS_TOKEN &&
process.env.TRIGGER_DEV_VERCEL_PROJECT_ID &&
process.env.TRIGGER_DEV_VERCEL_TEAM_ID
);
export default defineConfig({
// Your project ref from the Trigger.dev dashboard
project: process.env.TRIGGER_DEV_PROJECT_REF ?? "", // e.g., "proj_abc123"
// Directories containing your tasks
dirs: ["./bookings/lib/tasker/trigger/notifications", "./ee/billing/service/proration/tasker/trigger"], // Customize based on your project structure
// Retry configuration
retries: {
enabledInDev: false, // Enable retries in development
default: {
maxAttempts: 3,
minTimeoutInMs: 1000,
maxTimeoutInMs: 10000,
factor: 2,
randomize: true,
},
},
// Keep the process alive after the task has finished running so the next task doesnt have to wait for the process to start up again.
processKeepAlive: true,
// Build configuration (optional)
build: {
external: ["@prisma/client", "nodemailer", "jsdom", "playwright-core", "playwright", "chromium-bidi"],
extensions: canSyncEnvVars
? [
syncVercelEnvVars({
// A personal access token created in your Vercel account settings
// Used to authenticate API requests to Vercel
// Generate at: https://vercel.com/account/tokens
vercelAccessToken: process.env.TRIGGER_DEV_VERCEL_ACCESS_TOKEN,
// The unique identifier of your Vercel project
// Found in Project Settings > General > Project ID
projectId: process.env.TRIGGER_DEV_VERCEL_PROJECT_ID,
// Optional: The ID of your Vercel team
// Only required for team projects
// Found in Team Settings > General > Team ID
vercelTeamId: process.env.TRIGGER_DEV_VERCEL_TEAM_ID,
}),
]
: [],
},
// Max duration of a task in seconds
maxDuration: 600,
});