ホームページ >ウェブフロントエンド >jsチュートリアル >Node-cron を使用して Node.js でタスクをスケジュールするにはどうすればよいですか?
システムのメンテナンスと管理、毎日のデータベースのバックアップ、ファイルや電子メールの定期的なダウンロードなど、退屈なタスクにすべての時間を費やしたい開発者はいません。面倒な雑務をいつ実行する必要があるかを把握するよりも、むしろ生産的な仕事に集中したいと思うでしょう。 [推奨学習: "nodejs チュートリアル "]
現時点では、このような問題の解決に役立つ タスク スケジューリングを使用する必要があります。
タスク スケジュール 任意のコード (メソッド/関数) とコマンドを、固定日時に 1 回、定期的に、または指定した間隔後に実行するようにスケジュールできます。 Linux オペレーティング システムでは、タスクのスケジューリングは通常、cron などのユーティリティ サービスによってオペレーティング システム レベルで処理されます。
Node.js アプリケーションでは、node-cron などのパッケージを使用して cron に似た機能を実装できます。開発者によって紹介されたように、node-cron は、GNU crontab に基づいた、node.js 用の純粋な JavaScript のマイクロタスク スケジューラです。
crontab は、Linux システム用のスケジュールされたタスク実行プログラムです。 cron の操作は、crontab ファイルによって駆動されます。これは、cron デーモンの命令が含まれる構成ファイルです。 node-cron
このモジュールを使用すると、完全な crontab 構文を使用して Node でタスクをスケジュールできます。
推奨ツール
crontab エディタ: オンライン ツールを使用すると、crontab 構成ファイルを視覚的に生成できます。
crontab 構文は次のとおりです:
# ┌────────────── second (可选) # │ ┌──────────── 分钟 (minute,0 - 59) # │ │ ┌────────── 小时 (hour,0 - 23) # │ │ │ ┌──────── 一个月中的第几天 (day of month,1 - 31) # │ │ │ │ ┌────── 月份 (month,1 - 12) # │ │ │ │ │ ┌──── 星期中星期几 (day of week,0 - 6) 注意:星期天为 0 # │ │ │ │ │ │ # │ │ │ │ │ │ # * * * * * *
許可される cron 値には次のものが含まれます。
#フィールド | 値 |
---|---|
秒
| 0–59|
分
| 0–59|
0–23 |
|
#1–31 |
|
1–12 (または月の略称 Jan、Feb...) |
#曜日 |
0–7 (または1月、2月...、0または7は日曜日)
|
下面我们来看看它的一些用法和用例。 使用 node-cron使用 $ npm install --save node-cron 任务调度语法cron.schedule(cronExpression: string, task: Function, options: Object) 选项
看看下面的例子。 const cron = require('node-cron') cron.schedule('5 * * * * *', () => { console.log('每分钟在第 5 秒运行一个任务') }) 时间规范的位置 2、3、4、5 和 6 中的星号( 以下代码将在每天凌晨 5:30 运行。 const cron = require('node-cron') cron.schedule('30 5 * * *', () => { console.log('每天凌晨 5:30 运行任务') }) 任务调度提示和技巧现在我们已经了解了基本知识,让我们做一些更有趣的事情。 假设您希望在每周五下午 4 点运行一项特定任务。代码如下所示: const cron = require('node-cron') cron.schedule('0 16 * * friday', () => { console.log('每周五下午 4:00 运行任务') }) 或者,您可能需要每季度运行一次数据库备份。crontab 语法没有一个月的最后一天选项,因此您可以使用下个月的第一天,如下所示。 const cron = require('node-cron') cron.schedule('2 3 1 1,4,7,10 *', () => { console.log('在每个季度的第一天运行任务') }) 下面显示的任务在上午 10:05 到下午 6:05 之间每小时运行五分钟。 const cron = require('node-cron') cron.schedule('5 10-18 * * *', () => { console.log('在上午 10 点到下午 6 点之间每小时运行五分钟的任务') }) 在某些情况下,您可能需要每两小时、三小时或四小时运行一次任务。您可以通过将小时数除以所需的时间间隔来完成此操作,例如,每四小时 分钟也可以用同样的方法划分。例如, 下面的任务在上午 8 点到下午 5:58 之间每两小时运行五分钟。 const cron = require('node-cron') cron.schedule('*/5 8-18/2 * * *', () => { console.log('在上午 8 点到下午 5:58 之间每两小时运行一次任务。') }) 定时任务方法在结束之前,让我们关注一下三个关键的定时任务方法。 开始任务将 要启动这样的任务,您需要调用 const cron = require('node-cron')const task = cron.schedule('*/5 8-18/2 * * *', () => { console.log('在上午 8 点到下午 5:58 之间每两小时运行一次任务。') }) task.start() 停止任务如果需要停止任务运行,可以使用 const cron = require('node-cron')const task = cron.schedule('*/5 8-18/2 * * *', () => { console.log('在上午 8 点到下午 5:58 之间每两小时运行一次任务。') }) task.stop() 销毁任务
const cron = require('node-cron')const task = cron.schedule('*/5 8-18/2 * * *', () => { console.log('在上午 8 点到下午 5:58 之间每两小时运行一次任务。') }) task.destroy() 以上便是 更多编程相关知识,请访问:编程视频!! |
以上がNode-cron を使用して Node.js でタスクをスケジュールするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。