2026-01-06 00:15:16 +02:00
|
|
|
import { Meteor } from 'meteor/meteor';
|
|
|
|
|
import { ReactiveVar } from 'meteor/reactive-var';
|
|
|
|
|
|
|
|
|
|
export const cronMigrationProgress = new ReactiveVar(0);
|
|
|
|
|
export const cronMigrationStatus = new ReactiveVar('');
|
|
|
|
|
export const cronMigrationCurrentStep = new ReactiveVar('');
|
|
|
|
|
export const cronMigrationSteps = new ReactiveVar([]);
|
|
|
|
|
export const cronIsMigrating = new ReactiveVar(false);
|
|
|
|
|
export const cronJobs = new ReactiveVar([]);
|
2026-01-21 00:56:42 +02:00
|
|
|
export const cronMigrationCurrentStepNum = new ReactiveVar(0);
|
|
|
|
|
export const cronMigrationTotalSteps = new ReactiveVar(0);
|
2026-01-06 00:15:16 +02:00
|
|
|
|
|
|
|
|
function fetchProgress() {
|
|
|
|
|
Meteor.call('cron.getMigrationProgress', (err, res) => {
|
|
|
|
|
if (err) return;
|
|
|
|
|
if (!res) return;
|
|
|
|
|
cronMigrationProgress.set(res.progress || 0);
|
|
|
|
|
cronMigrationStatus.set(res.status || '');
|
|
|
|
|
cronMigrationCurrentStep.set(res.currentStep || '');
|
|
|
|
|
cronMigrationSteps.set(res.steps || []);
|
|
|
|
|
cronIsMigrating.set(res.isMigrating || false);
|
2026-01-21 00:56:42 +02:00
|
|
|
cronMigrationCurrentStepNum.set(res.currentStepNum || 0);
|
|
|
|
|
cronMigrationTotalSteps.set(res.totalSteps || 0);
|
2026-01-06 00:15:16 +02:00
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Expose cron jobs via method
|
|
|
|
|
function fetchJobs() {
|
|
|
|
|
Meteor.call('cron.getJobs', (err, res) => {
|
|
|
|
|
if (err) return;
|
|
|
|
|
cronJobs.set(res || []);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (Meteor.isClient) {
|
|
|
|
|
// Initial fetch
|
|
|
|
|
fetchProgress();
|
|
|
|
|
fetchJobs();
|
|
|
|
|
|
|
|
|
|
// Poll periodically
|
|
|
|
|
Meteor.setInterval(() => {
|
|
|
|
|
fetchProgress();
|
|
|
|
|
fetchJobs();
|
|
|
|
|
}, 2000);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
cronMigrationProgress,
|
|
|
|
|
cronMigrationStatus,
|
|
|
|
|
cronMigrationCurrentStep,
|
|
|
|
|
cronMigrationSteps,
|
|
|
|
|
cronIsMigrating,
|
|
|
|
|
cronJobs,
|
|
|
|
|
};
|