UNPKG

@akemona-org/strapi

Version:

An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MongoDB, MySQL, MariaDB, PostgreSQL, SQLite

44 lines (35 loc) 873 B
'use strict'; /** * Module dependencies */ // Public node modules. const _ = require('lodash'); const cron = require('node-schedule'); /** * CRON hook */ module.exports = (strapi) => { return { /** * Initialize the hook */ initialize() { if (strapi.config.get('server.cron.enabled', false) === true) { _.forEach(_.keys(strapi.config.get('functions.cron', {})), (taskExpression) => { const taskValue = strapi.config.functions.cron[taskExpression]; if (_.isFunction(taskValue)) { return cron.scheduleJob(taskExpression, taskValue); } const options = _.get(taskValue, 'options', {}); cron.scheduleJob( { rule: taskExpression, ...options, }, taskValue.task ); }); } }, }; };