1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- const fs = require('fs');
- const os = require('os');
- // Configure SyncedCron to suppress console logging
- // This must be done before any SyncedCron operations
- if (Meteor.isServer) {
- const { SyncedCron } = require('meteor/percolate:synced-cron');
- SyncedCron.config({
- log: false, // Disable console logging
- collectionName: 'cronJobs', // Use custom collection name
- utc: false, // Use local time
- collectionTTL: 172800 // 2 days TTL
- });
- }
- let errors = [];
- if (!process.env.WRITABLE_PATH) {
- errors.push("WRITABLE_PATH environment variable missing and/or unset, please configure !");
- } else {
- try {
- fs.accessSync(process.env.WRITABLE_PATH, fs.constants.W_OK);
- } catch (err) {
- const userInfo = os.userInfo();
- errors.push("can't write to " + process.env.WRITABLE_PATH, err);
- errors.push("the path of WRITABLE_PATH (" + process.env.WRITABLE_PATH + ") must be writable !!!");
- errors.push("username: " + userInfo["username"] + " - uid: " + userInfo["uid"] + " - gid: " + userInfo["gid"]);
- }
- }
- if (errors.length > 0) {
- console.error("\n\n");
- console.error(errors.join("\n"));
- console.error("\n");
- console.error("Stopping Wekan");
- console.error("Wekan isn't runnable. Please resolve the error's above and restart Wekan !");
- console.error("\n\n");
- process.exit(1);
- }
- // Import cron job storage for persistent job tracking
- import './cronJobStorage';
- // Import board migration detector for automatic board migrations
- import './boardMigrationDetector';
- // Import cron migration manager for cron-based migrations
- import './cronMigrationManager';
|