mail-s3-admin/sync-test.ts

35 lines
1.1 KiB
TypeScript

import { syncAllDomains } from './app/lib/sync';
import dotenv from 'dotenv';
import http from 'http';
import https from 'https';
http.globalAgent.keepAlive = true;
https.globalAgent.keepAlive = true;
dotenv.config({ path: '.env' });
console.log('DATABASE_URL:', process.env.DATABASE_URL);
console.log('AWS_REGION:', process.env.AWS_REGION);
console.log('AWS_ACCESS_KEY_ID:', process.env.AWS_ACCESS_KEY_ID ? 'Set' : 'Not set');
console.log('AWS_SECRET_ACCESS_KEY:', process.env.AWS_SECRET_ACCESS_KEY ? 'Set' : 'Not set');
// Timeout-Wrapper für den Sync
async function runSyncWithTimeout(timeoutMs = 600000) { // 10 Minuten Standard-Timeout
return Promise.race([
syncAllDomains(),
new Promise((_, reject) =>
setTimeout(() => reject(new Error('Sync timeout exceeded')), timeoutMs)
)
]);
}
(async () => {
try {
console.log('Starting sync with timeout...');
await runSyncWithTimeout();
console.log('Sync completed successfully');
process.exit(0);
} catch (error) {
console.error('Sync error:', error);
process.exit(1);
}
})();