cron を使い始めたばかりですが、1 回限りのジョブをスケジュールする方法が見つかりません。私が持っているものは私のために働いていますが、それを達成するためのより良い方法があるかどうか知りたい.
以下のコードは、ジョブを作成し、それが作成されたことをコンソールに出力します。タイマーを 1 秒ごとに設定しますが、そのすぐ下で 1.5 秒でスリープしてジョブを停止します。
const express = require('express');
const cron = require('node-cron');
const router = express.Router();
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
// Schedule a job on GET
router.get('/', (req, res, next) => {
const job = cron.schedule(`*/1 * * * * *`, () => {
console.log('job created');
});
sleep(1500).then(() => {
job.stop();
})
return res.status(200).json({ message: 'scheduled'});
});