@fangcha/backend-kit
Version:
Backend Kit.
31 lines • 1.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ScheduleSdkPlugin = void 0;
const tslib_1 = require("tslib");
const cron_1 = require("@fangcha/tools/lib/cron");
const main_1 = require("../main");
const logger_1 = require("@fangcha/logger");
const ScheduleSdkPlugin = (jobs) => {
return {
appDidLoad: () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
const manager = new cron_1.CronJobManager();
manager.setListener({
onJobStart: (coreJob) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
logger_1.logger.info(`${coreJob.name}[${coreJob.uid}]: onJobStart`);
}),
onJobDone: (coreJob) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
logger_1.logger.info(`${coreJob.name}[${coreJob.uid}]: onJobDone, time elapsed ${coreJob.elapsedMs}ms`);
}),
onJobFailed: (coreJob, err) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
logger_1.logger.info(`${coreJob.name}[${coreJob.uid}]: onJobFailed, time elapsed ${coreJob.elapsedMs}ms, error:`, err);
const infos = ['', 'Schedule Job Fail', `Job: ${coreJob.name}`, `Error: ${err.message}`];
main_1._FangchaState.botProxy.notify(infos.join('\n'));
}),
});
manager.addScheduleJobList(jobs);
manager.execute();
}),
};
};
exports.ScheduleSdkPlugin = ScheduleSdkPlugin;
//# sourceMappingURL=ScheduleSdkPlugin.js.map