From 42cd5d8e58c8131f187ea5db2a587e9cea4518cb Mon Sep 17 00:00:00 2001 From: Julien Fontanet Date: Tue, 13 Feb 2018 14:46:33 +0100 Subject: [PATCH] chore(xo-server/utils): remove scheduleFn --- packages/xo-server/src/utils.js | 17 ----------------- packages/xo-server/src/xo-mixins/scheduling.js | 15 +++++---------- 2 files changed, 5 insertions(+), 27 deletions(-) diff --git a/packages/xo-server/src/utils.js b/packages/xo-server/src/utils.js index ac6cdcc5c..8af96cf6f 100644 --- a/packages/xo-server/src/utils.js +++ b/packages/xo-server/src/utils.js @@ -22,7 +22,6 @@ import { resolve } from 'path' import 'moment-timezone' import through2 from 'through2' -import { createSchedule } from '@xen-orchestra/cron' import { utcFormat, utcParse } from 'd3-time-format' import { all as pAll, @@ -521,22 +520,6 @@ export const streamToArray = (stream, { filter, mapper } = {}) => // ------------------------------------------------------------------- -// Contrary to most implentations this one use the range 0-11 instead -// of 1-12 for months. -export const scheduleFn = (cronTime, fn, timeZone) => - createSchedule(cronTime, timeZone).startJob(async () => { - try { - await fn() - } catch (error) { - console.error( - '[WARN] scheduled function:', - (error && error.stack) || error - ) - } - }) - -// ------------------------------------------------------------------- - // Create a serializable object from an error. export const serializeError = error => ({ message: error.message, diff --git a/packages/xo-server/src/xo-mixins/scheduling.js b/packages/xo-server/src/xo-mixins/scheduling.js index 816317534..8e3cab410 100644 --- a/packages/xo-server/src/xo-mixins/scheduling.js +++ b/packages/xo-server/src/xo-mixins/scheduling.js @@ -1,8 +1,9 @@ import { BaseError } from 'make-error' +import { createSchedule } from '@xen-orchestra/cron' import { noSuchObject } from 'xo-common/api-errors.js' import { Schedules } from '../models/schedule' -import { forEach, mapToArray, scheduleFn } from '../utils' +import { forEach, mapToArray } from '../utils' // =================================================================== @@ -79,16 +80,10 @@ export default class { return this._scheduleTable[_resolveId(scheduleOrId)] } - _enable (schedule) { - const { id } = schedule - - const stopSchedule = scheduleFn( - schedule.cron, - () => this.xo.runJobSequence([schedule.job]), - schedule.timezone + _enable ({ cron, id, job, timezone }) { + this._cronJobs[id] = createSchedule(cron, timezone).startJob(() => + this.xo.runJobSequence([job]) ) - - this._cronJobs[id] = stopSchedule this._scheduleTable[id] = true }