ノード スケジュールを使用してノード プロジェクトにスケジュールされたタスクを作成する方法
nodeプロジェクト内にスケジュールされたタスクを作成するにはどうすればよいですか?次の記事では、ノード スケジュールを使用してノード プロジェクトでスケジュールされたタスク スクリプトを開発する方法を紹介します。
nodejs のバックエンドには、バックアップ、スケジュールされた電子メール送信、決済、その他の操作などのスケジュールされたタスクを処理する必要があるため、npm ノードスケジュールが使用されています。スケジュールされたタスク スクリプトの開発にご協力ください。
npm install node-schedule
ノード スケジュール内のスケジュールされた各タスクは、Job
オブジェクトによって表されます。手動で作成し、schedule()
メソッドを実行してタスクを適用するか、次のように scheduleJob()
を使用します。
Job
オブジェクトは `EventEmitter で、各実行後に次のイベントを発行します:
-
run
イベント。 -
scheduled
プランが実行されるたびに発生するイベント。 - a
canceled
: キャンセルされたイベントが実行前に呼び出される場合。 - スケジュールされたジョブ呼び出しがトリガーされるか、終了イベントが
Promise
を拒否すると、error
がスローされます。
(scheduled
イベントと canceled
イベントは両方とも、JavaScript 日付オブジェクトをパラメーターとして受け取ります)。
タスクは初めてすぐに実行されるため、scheduleJob()
メソッドを使用してタスクを作成すると、最初の scheduled
イベント トリガーを見逃すことになりますが、実行できることに注意してください。手動で通話を問い合わせます。
#Cron 形式* * * * * *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ │
│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun)
│ │ │ │ └───── month (1 - 12)
│ │ │ └────────── day of month (1 - 31)
│ │ └─────────────── hour (0 - 23)
│ └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, OPTIONAL)
每分钟的第30秒触发: '30 * * * * *'
每小时的1分30秒触发 :'30 1 * * * *'
每天的凌晨1点1分30秒触发 :'30 1 1 * * *'
每月的1日1点1分30秒触发 :'30 1 1 1 * *'
2016年的1月1日1点1分30秒触发 :'30 1 1 1 2016 *'
每周1的1点1分30秒触发 :'30 1 1 * * 1'
ログイン後にコピー
* * * * * * ┬ ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun) │ │ │ │ └───── month (1 - 12) │ │ │ └────────── day of month (1 - 31) │ │ └─────────────── hour (0 - 23) │ └──────────────────── minute (0 - 59) └───────────────────────── second (0 - 59, OPTIONAL) 每分钟的第30秒触发: '30 * * * * *' 每小时的1分30秒触发 :'30 1 * * * *' 每天的凌晨1点1分30秒触发 :'30 1 1 * * *' 每月的1日1点1分30秒触发 :'30 1 1 1 * *' 2016年的1月1日1点1分30秒触发 :'30 1 1 1 2016 *' 每周1的1点1分30秒触发 :'30 1 1 * * 1'
これは、スケジュールされたタスクを追加、削除、変更、確認するためのノード スケジュール カプセル化クラスの私の個人的な使用法ですconst schedule = require('node-schedule');
exports.Interval = class Interval {
constructor({ unit_name, maintain_time, last_alarm }) {
this.unit_name = unit_name // 任务名字
this.maintain_time = maintain_time // 定时时间
this.last_alarm = last_alarm || "" // 上一次定时任务名字
}
// 生成新的定时任务
async create(callback) {
// 终止之前的定时任务
if (this.last_alarm !== "") {
this.delete(this.last_alarm)
}
schedule.scheduleJob(`${this.unit_name}`, `${this.maintain_time}`, callback);
}
// 删除定时任务
delete() {
if (schedule.scheduledJobs[this.unit_name]) {
schedule.scheduledJobs[this.unit_name].cancel();
return true
}
return false
}
// 找到一个定时任务
findOne(name) {
if (schedule.scheduledJobs[name]) {
return schedule.scheduledJobs[name]
} else {
throw new Error("未找到任务名")
}
}
// 查看所有的定时任务
findAll() {
return schedule.scheduledJobs
}
}
ログイン後にコピー
const schedule = require('node-schedule'); exports.Interval = class Interval { constructor({ unit_name, maintain_time, last_alarm }) { this.unit_name = unit_name // 任务名字 this.maintain_time = maintain_time // 定时时间 this.last_alarm = last_alarm || "" // 上一次定时任务名字 } // 生成新的定时任务 async create(callback) { // 终止之前的定时任务 if (this.last_alarm !== "") { this.delete(this.last_alarm) } schedule.scheduleJob(`${this.unit_name}`, `${this.maintain_time}`, callback); } // 删除定时任务 delete() { if (schedule.scheduledJobs[this.unit_name]) { schedule.scheduledJobs[this.unit_name].cancel(); return true } return false } // 找到一个定时任务 findOne(name) { if (schedule.scheduledJobs[name]) { return schedule.scheduledJobs[name] } else { throw new Error("未找到任务名") } } // 查看所有的定时任务 findAll() { return schedule.scheduledJobs } }
呼び出し時のスケジュールされたタスクの間隔インスタンスです。// 定时任务
new Util.Interval({
unit_name: '自动分发任务 0 0 12 * * *',
maintain_time: '0 0 12 * * *',
last_alarm: '自动分发任务 0 0 12 * * *'
}).create(async () => {
// 写入你自己想在定时任务触发的时候,想要执行的函数
})
ログイン後にコピーノード関連の詳細については、
// 定时任务 new Util.Interval({ unit_name: '自动分发任务 0 0 12 * * *', maintain_time: '0 0 12 * * *', last_alarm: '自动分发任务 0 0 12 * * *' }).create(async () => { // 写入你自己想在定时任务触发的时候,想要执行的函数 })
nodejs チュートリアル を参照してください。 !
以上がノード スケジュールを使用してノード プロジェクトにスケジュールされたタスクを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









crontab のスケジュールされたタスクが実行されない原因まとめ 更新日時: 2019年1月9日 09:34:57 作成者: Hope on the field. この記事では主に、crontab のスケジュールされたタスクが実行されない原因をいくつかまとめて紹介します。考えられるトリガーごとに解決策が示されており、この問題に遭遇した同僚にとって一定の参照と学習価値があります。必要な学生はエディターに従って一緒に学習できます。序文: 最近仕事でいくつかの問題に遭遇しました。crontab のスケジュール設定タスクが実行されませんでした後、インターネットで検索したところ、インターネットでは主に次の 5 つのインセンティブについて言及されていることがわかりました: 1. crond サービスが開始されていない Crontab は Linux カーネルの機能ではなく、cron に依存しています。

ファイルのアップロードをどのように処理するか?次の記事では、Express を使用してノード プロジェクトでファイルのアップロードを処理する方法を紹介します。

ThinkPHP6 スケジュールされたタスクのスケジューリング: スケジュールされたタスクの実行 1. はじめに Web アプリケーション開発のプロセスでは、特定の反復タスクを定期的に実行する必要がある状況によく遭遇します。 ThinkPHP6 は、スケジュールされたタスクのニーズを簡単に満たすことができる、強力なスケジュールされたタスクのスケジューリング機能を提供します。この記事では、ThinkPHP6 でスケジュールされたタスクのスケジューリングを使用する方法を紹介し、理解を助けるいくつかのコード例を示します。 2. スケジュールされたタスクを構成し、スケジュールされたタスク ファイルを作成し、プロジェクトのアプリ ディレクトリにコマンドを作成します。

この記事では、Node のプロセス管理ツール「pm2」について説明し、pm2 が必要な理由、pm2 のインストール方法と使用方法について説明します。皆様のお役に立てれば幸いです。

Web 開発では、多くの Web サイトやアプリケーションで、ジャンク データのクリーンアップや電子メールの送信など、特定のタスクを定期的に実行する必要があります。これらのタスクを自動化するには、開発者はタスクのスケジュール設定と時間指定タスク機能を実装する必要があります。この記事では、PHP でタスクのスケジュール設定と時間指定タスクを実装する方法と、一般的に使用されるサードパーティのライブラリとツールをいくつか紹介します。 1. タスクのスケジューリング タスクのスケジューリングとは、指定された時間またはイベントに従って特定のタスクを実行することを指します。 PHP では、cron タイマーまたは同様のメカニズムを使用してタスクのスケジュールを実装できます。通常、タスクのスケジュール設定

ピン張りのノードの詳細な説明とインストールガイドこの記事では、ピネットワークのエコシステムを詳細に紹介します - PIノードは、ピン系生態系における重要な役割であり、設置と構成の完全な手順を提供します。 Pinetworkブロックチェーンテストネットワークの発売後、PIノードは多くの先駆者の重要な部分になり、テストに積極的に参加し、今後のメインネットワークリリースの準備をしています。まだピン張りのものがわからない場合は、ピコインとは何かを参照してください。リストの価格はいくらですか? PIの使用、マイニング、セキュリティ分析。パインワークとは何ですか?ピン競技プロジェクトは2019年に開始され、独占的な暗号通貨PIコインを所有しています。このプロジェクトは、誰もが参加できるものを作成することを目指しています

Python は、ヘッドレス ブラウザ収集アプリケーション向けにページの自動更新とスケジュールされたタスク機能分析を実装します。ネットワークの急速な発展とアプリケーションの普及に伴い、Web ページ データの収集はますます重要になっています。ヘッドレス ブラウザは、Web ページのデータを収集するための効果的なツールの 1 つです。この記事では、Pythonを使用してヘッドレスブラウザの自動ページ更新機能やスケジュールタスク機能を実装する方法を紹介します。ヘッドレス ブラウザは、グラフィカル インターフェイスを使用しないブラウザ操作モードを採用しており、人間の操作動作を自動化してシミュレートできるため、ユーザーは Web ページにアクセスし、ボタンをクリックし、情報を入力できます。

FastAPI でスケジュールされたタスクを使用してバックグラウンド作業を実行する方法 インターネット アプリケーションの急速な発展に伴い、多くのアプリケーションには、データ クリーニング、電子メールの送信、バックアップなど、定期的に実行する必要があるバックグラウンド タスクがいくつかあります。この問題を解決するには、スケジュールされたタスクを使用してバックグラウンド作業を自動的に実行します。この記事では、FastAPI フレームワークでスケジュールされたタスクを使用してバックグラウンド作業を実行する方法を紹介します。 FastAPI は、主に API の構築に使用される最新の高速 (高性能) Web フレームワークです。それは持っています
