feat: Allow configuring category sync interval via environment variable and log next sync time.

This commit is contained in:
sebseb7
2025-11-23 10:05:58 +01:00
parent 729d056618
commit 3f451dde06
3 changed files with 17 additions and 15 deletions

View File

@@ -9,4 +9,5 @@ JTL_SHOP_ID=0
JTL_SPRACHE_ID=1
JTL_PLATTFORM_ID=1
SERVER_PORT=3991
SERVER_HOST=127.0.0.1
SERVER_HOST=127.0.0.1
SYNC_INTERVAL_MS=600000

View File

@@ -62,6 +62,11 @@ class CategorySyncer extends EventEmitter {
await this._syncFromDb();
const duration = Date.now() - startTime;
console.log(`✅ Sync completed successfully in ${duration}ms.`);
// Log next sync time
const syncInterval = parseInt(process.env.SYNC_INTERVAL_MS) || 60000;
const minutes = Math.round(syncInterval / 60000);
console.log(`⏰ Next sync in ${minutes} minute${minutes !== 1 ? 's' : ''}`);
} catch (err) {
console.error('❌ Sync failed:', err);
} finally {

View File

@@ -30,21 +30,17 @@ categorySyncer.on('synced', async ({ tree, unprunedTree, changed }) => {
// Trigger immediate sync
categorySyncer.triggerSync();
// Check if running interactively
if (process.stdout.isTTY) {
console.log('🤖 Interactive mode: Syncing every minute. Press Ctrl-C to exit.');
// Schedule periodic sync
const syncInterval = parseInt(process.env.SYNC_INTERVAL_MS) || 60000;
setInterval(() => {
categorySyncer.triggerSync();
}, syncInterval);
// Schedule periodic sync
setInterval(() => {
categorySyncer.triggerSync();
}, 60000);
// Handle graceful shutdown
process.on('SIGINT', () => {
console.log('\n👋 Bye!');
process.exit(0);
});
}
// Handle graceful shutdown
process.on('SIGINT', () => {
console.log('\n👋 Bye!');
process.exit(0);
});
// Start Express server
startServer();