nodejsのcron人を造ること
この記事では、私たちはどのようにセットアップをnodejs cronジョブを学ぶつもりです、私たちのcronは私たちのデータベースコレクションを検索し、冗長なユーザーを削除します.我々は我々の目的の目標を達成するいくつかのnodejs APIを見るつもりです.
cronjobは指定された時間に定期的に実行され、指定されたタスクを実行するプログラムです.あなたはそれをボットと考えるかもしれません.あなたは今日、あなたのプラットホームでサインアップされたすべてにニュースレターを送信したいと思いました、あなたはあなたのアプリケーションがアップデートのために使用するもう一つのサービスをチェックして、それから、あなた自身のサービスを正しく更新したいです.あなたはcronjobで何かを行うことができます.畝
あなたは、データベースと連携している間、あなたのアプリケーションのユーザがあなたのデータベースまたはクラウドストレージバケットに必要としないファイルをアップロードしたり保存したりすることに気づくかもしれません.あなたのcronjobは時折あなたの記憶システムをチェックして、これらの冗長なファイルを見つけて、あなたの望ましい指示を実行します.あなたはとにかくデータベースに限定されません、あなたはちょうどどこにでもこれを実行することができます.
cron manやmanagerはcronjobをすべて処理します.これは、すべてのcronjobが同じファイルから管理されることを意味します.
私は既に機能的なビューとモデルを既に持っていると仮定しますので、我々はすぐにcronマネージャに得ることができます.
cronjobランナーを3つの部分に構成します. スケジューラ 行動 クーン人 スケジューラ
スケジューラは2パラメータ、ミリ秒の時間間隔と実行するアクションを取る.
この関数は、
cronマネージャはすべてのスケジューラをブートストラップして管理します.我々は、単に我々のスケジューラ機能と行動をここで輸入します.これはデバッグのために重要です、そして、より多くのように、それは我々のcronをモジュラーにします.
cronマネージャー
私たちが概念的に我々のcronプログラムを説明したので、コードレベルに入りましょう.あなたのプロジェクトでcronディレクトリを作成してください
フォルダ構造
我々は、スケジューラ機能をはずして起動します.次のようになります.
< div >
私たちのスケジューラは2つの重要な部分を必要とします.The
< p >
これによって書かれた美しい記事があります.チェックアウトしてください.Events and Timers in Node.js . また、公式ドキュメントを見ることができますprocess.nextTick(callback[,…args])
建築を続けましょう、今、私たちは
この例では、セットアップを行います
現実世界のアプリケーションでは、ユーザーを削除する必要はありませんが、彼らが持っている冗長なファイルは、写真、ビデオ、PDFファイルのように、ユーザーによって保存されていないが、データベースにアップロードされたようなものです.p >
私たちの例のアプリでは、すべてのユーザーに24時間のアカウントをアクティブにする、この時間満了時に、すべての不活発なアカウントを削除します.さあ、コードを書きましょう.p >
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/phavor/43fefe1e67898187620916725f06a4fd.js//>
< div >
私たちの
< tt > cron managerファイルを開きましょう
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/phavor/93f0e583b42fed9c6aa4da08b30988ed.js//>
< div >
私たちが今しなければならないのは、cronmanを注入することです.我々のアプリにJSファイル.インサイドインデックス.JSは、我々は
<> P >
クラスをハイライト表示する
<高橋>p >
< P >
現在のところ、我々の予定の仕事はすべて走ります
< P > <フィギュア< br/> <フィギュア>>ロック< file caption/> <数字>
<> P >
あなたはそれを持っている.あなたの最初のcronジョブを正常に設定している.それは簡単だった?今すぐ行って、世界をあなたのcron男を救う🚀🚀🚀
何がcronの仕事ですか?
cronjobは指定された時間に定期的に実行され、指定されたタスクを実行するプログラムです.あなたはそれをボットと考えるかもしれません.あなたは今日、あなたのプラットホームでサインアップされたすべてにニュースレターを送信したいと思いました、あなたはあなたのアプリケーションがアップデートのために使用するもう一つのサービスをチェックして、それから、あなた自身のサービスを正しく更新したいです.あなたはcronjobで何かを行うことができます.畝
わかりました、なぜ私はcronjobが必要ですか?
あなたは、データベースと連携している間、あなたのアプリケーションのユーザがあなたのデータベースまたはクラウドストレージバケットに必要としないファイルをアップロードしたり保存したりすることに気づくかもしれません.あなたのcronjobは時折あなたの記憶システムをチェックして、これらの冗長なファイルを見つけて、あなたの望ましい指示を実行します.あなたはとにかくデータベースに限定されません、あなたはちょうどどこにでもこれを実行することができます.
cron manやmanagerはcronjobをすべて処理します.これは、すべてのcronjobが同じファイルから管理されることを意味します.
レディ?さあ始めましょう
私は既に機能的なビューとモデルを既に持っていると仮定しますので、我々はすぐにcronマネージャに得ることができます.
cronjobランナーを3つの部分に構成します.
スケジューラは2パラメータ、ミリ秒の時間間隔と実行するアクションを取る.
行動
この関数は、
scheduler
, この関数は、スケジューラが呼び出すたびに行う必要のある論理を持ちます.それはあなたの行動を純粋にすることが重要です.純粋な関数を使用すると、メモリリークや副作用をチェックするのに役立ちます.畝クーン人
cronマネージャはすべてのスケジューラをブートストラップして管理します.我々は、単に我々のスケジューラ機能と行動をここで輸入します.これはデバッグのために重要です、そして、より多くのように、それは我々のcronをモジュラーにします.
cronマネージャー
私たちが概念的に我々のcronプログラムを説明したので、コードレベルに入りましょう.あなたのプロジェクトでcronディレクトリを作成してください
cron-jobs
& scheduler
) とcronMan.js
ファイル.フォルダ構造
我々は、スケジューラ機能をはずして起動します.次のようになります.
< div >
私たちのスケジューラは2つの重要な部分を必要とします.The
setInterval()
タイマーAPIとprocess.nextTick()
nodejsからのAPI.タイマーAPIの詳細についてはdocumentation . The setInterval()
時間とアクションを一度、提供されている時間が経過した呼び出しにかかる.シュウ< p >
process.nextTick()
NodeJSイベントループの現在のジョブが完了すると、スケジューラ関数が呼び出されることを保証します.これは他のI/Oイベントの前に呼び出されます.これは私たちのプログラムのライフサイクルにフックし、我々のcronジョブを注入するための良い方法です.シュウこれによって書かれた美しい記事があります.チェックアウトしてください.Events and Timers in Node.js . また、公式ドキュメントを見ることができますprocess.nextTick(callback[,…args])
建築を続けましょう、今、私たちは
actions
. あなたは、我々が我々のディレクトリを指定した方法に気がつきますcron-jobs
, これは、我々が1つ以上の仕事を持つことができて、彼らの間で一緒に彼らを家に置くことができることを意味しますcron-jobs
ディレクトリ名p >この例では、セットアップを行います
deleteInactives
cronjobこれは、我々のデータベースを検索し、すべての現在アクティブなユーザーを削除します.< br/>現実世界のアプリケーションでは、ユーザーを削除する必要はありませんが、彼らが持っている冗長なファイルは、写真、ビデオ、PDFファイルのように、ユーザーによって保存されていないが、データベースにアップロードされたようなものです.p >
私たちの例のアプリでは、すべてのユーザーに24時間のアカウントをアクティブにする、この時間満了時に、すべての不活発なアカウントを削除します.さあ、コードを書きましょう.p >
< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/phavor/43fefe1e67898187620916725f06a4fd.js//>
< div >
私たちの
deleteInactive
上記のユーザ関数はisActive
プロパティはfalse
.< tt > cron managerファイルを開きましょう
cronMan.js
ファイルと書き込みのコード< div class ="LagagCount - gig - Link - tag "
"スクリプトのID "https://gist.github.com/phavor/93f0e583b42fed9c6aa4da08b30988ed.js//>
< div >
私たちが今しなければならないのは、cronmanを注入することです.我々のアプリにJSファイル.インサイドインデックス.JSは、我々は
cronMan
以下のような行1のファイル:< br/><> P >
クラスをハイライト表示する
require("./cron-man/cronMan");
< div ><高橋>p >
< P >
現在のところ、我々の予定の仕事はすべて走ります
10000
ミリ秒で、アプリケーションの必要に応じてタイマーを設定します.p >< P > <フィギュア< br/> <フィギュア>>ロック< file caption/> <数字>
<> P >
あなたはそれを持っている.あなたの最初のcronジョブを正常に設定している.それは簡単だった?今すぐ行って、世界をあなたのcron男を救う🚀🚀🚀
Reference
この問題について(nodejsのcron人を造ること), 我々は、より多くの情報をここで見つけました https://dev.to/phavor/building-a-cron-man-in-nodejs-27icテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol