Node JS (CRON JOB) で複数の関数を特定の間隔で実行するようにスケジュールする

アニジット・サウ

Node JSを使用して、特定の時間間隔で3つの機能を実行したい。この記事を読みましたが、さまざまな間隔でタスクを実行できる Nodejs スケジューラが必要です。

私は試してみましたnode-cronnode-scheduleしかし、それは機能していません!!

私のコードは以下のようなものです。

var schedule = require('node-schedule')


var fs = require('fs')
var tar = require('tar')

var notification = require('./notification')

let changeInDir = function () {
    console.log('Testing CRON JOB !!!', new Date().toLocaleString())
    fs.watch('./test', (event, filename) => {
        console.log('a', event, 'event occurred.. on file', filename)
    })
}

// schedule a CRON Job
var changeFile = schedule.scheduleJob('4 * * * * *', changeInDir);


// send the Monthly snapshots
var monthlySnapshot = schedule.scheduleJob('5 * * * * *', notification.getViewDetails('Monthly'))

// send the Daily snapshots
var dailySnapshot= schedule.scheduleJob('10 * * * * *', notification.getViewDetails('Daily'))

私はそれがいることを望んmonthlySnapshotで動作します5 seconds間隔中dailySnapshotに実行される10 seconds間隔とchangeFileで実行されます4 seconds間隔。

次にmonthlySnapshotdailySnapshotMySQL データベースにアクセスしてデータを取得し、それに応じて電子メールを送信します。changeFileと他のコメントのみをスケジュールする、正常に動作します。しかし、3 つすべてを実行しようとすると、次のエラー メッセージが表示され、クラッシュしました。

C:\Users\asau\Documents\LeaderBoardNodejs\archlb\src\server\node_modules\node-schedule\lib\schedule.js:174
    this.job.execute();
             ^

TypeError: this.job.execute is not a function
    at Job.invoke (C:\Users\asau\Documents\LeaderBoardNodejs\archlb\src\server\node_modules\node-schedule\lib\schedule.js:174:14)
    at Timeout._onTimeout (C:\Users\asau\Documents\LeaderBoardNodejs\archlb\src\server\node_modules\node-schedule\lib\schedule.js:542:11)
    at ontimeout (timers.js:365:14)
    at tryOnTimeout (timers.js:237:5)
    at Timer.listOnTimeout (timers.js:207:5)
[nodemon] app crashed - waiting for file changes before starting...

それを解決するには?node-cronorを使った例node-schedule何でもOKです。

nodemon notification.jsメールのみを使用して正しく送信すると、データベースへのアクセスは正常に機能します。問題はありません。

ムスタファ・マムン

私はノード cron を使用しますhttps://www.npmjs.com/package/cron

var momentTz = require('moment-timezone');
var CronJob = require('cron').CronJob;
var job = new CronJob('*/4 * * * * *', function() {
var a = momentTz.tz("Europe/Helsinki");
 //your logic
}, function () {

   console.log('work ended');
},
true,
'Europe/Helsinki'
);

job.start();

4秒ごとに実行されます

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Node.js with cron job and ajax

分類Dev

node.jsで並行して複数のcronジョブを回避する

分類Dev

node.jsのawsでcronジョブを実行する方法

分類Dev

クラスタモジュールを使用するNode.jsアプリケーションでCronジョブを実行するにはどうすればよいですか?

分類Dev

将来実行されるイベントをスケジュールします(Androidの方法でCron Job)

分類Dev

Node.jsとCronジョブで間隔を設定しますか?

分類Dev

Node.jsとCronジョブで間隔を設定しますか?

分類Dev

CRON Node.js GmailAPIスクリプト

分類Dev

Node-Cron: how to ensure last job is complete

分類Dev

Node.jsの「async」モジュールを使用して「A」または「B」を実行し、1つの関数で常に「C」を実行するにはどうすればよいですか?

分類Dev

JS(Node.js)で複数の長時間実行タスクを同時に管理する

分類Dev

node.jsで非同期関数を実行するための時間制限を設定するにはどうすればよいですか?

分類Dev

Node.jsのforループの完了後に関数を実行するにはどうすればよいですか?

分類Dev

異なるモジュールによって依存関係として使用されるときに、同じnode.jsパッケージが複数回インストールされるのを回避するにはどうすればよいですか?

分類Dev

node.jsで将来の特定の時間に関数を起動する方法は?

分類Dev

node.jsスクリプトをcronで実行しないのはなぜですか?

分類Dev

gatsby-node.jsで複数のcreatePageルートを使用するにはどうすればよいですか

分類Dev

node js - how to modify an existing job in agenda

分類Dev

どちらの方法がより便利です各実行の間にスリープを伴うエンドレスループで非同期関数を実行します(Node.js / Vanilla JS)

分類Dev

node.js AppEngineでのcronサポート

分類Dev

node.jsで複数のRESTAPIリクエストを非同期に実行するにはどうすればよいですか?

分類Dev

GAEでcronジョブの時間間隔をスケジュールする

分類Dev

実行時にNode.jsの関数でオブジェクトを生成することは可能ですか?

分類Dev

さまざまな間隔でPythonスクリプトを実行するようにCronをスケジュールする方法

分類Dev

node.jsで複数行の文字列を作成するにはどうすればよいですか?

分類Dev

node.jsでコールバック関数はどのように実行されますか?

分類Dev

Laravel job cron not working

分類Dev

Cron Job with timeout

分類Dev

Setting Cron Job

Related 関連記事

  1. 1

    Node.js with cron job and ajax

  2. 2

    node.jsで並行して複数のcronジョブを回避する

  3. 3

    node.jsのawsでcronジョブを実行する方法

  4. 4

    クラスタモジュールを使用するNode.jsアプリケーションでCronジョブを実行するにはどうすればよいですか?

  5. 5

    将来実行されるイベントをスケジュールします(Androidの方法でCron Job)

  6. 6

    Node.jsとCronジョブで間隔を設定しますか?

  7. 7

    Node.jsとCronジョブで間隔を設定しますか?

  8. 8

    CRON Node.js GmailAPIスクリプト

  9. 9

    Node-Cron: how to ensure last job is complete

  10. 10

    Node.jsの「async」モジュールを使用して「A」または「B」を実行し、1つの関数で常に「C」を実行するにはどうすればよいですか?

  11. 11

    JS(Node.js)で複数の長時間実行タスクを同時に管理する

  12. 12

    node.jsで非同期関数を実行するための時間制限を設定するにはどうすればよいですか?

  13. 13

    Node.jsのforループの完了後に関数を実行するにはどうすればよいですか?

  14. 14

    異なるモジュールによって依存関係として使用されるときに、同じnode.jsパッケージが複数回インストールされるのを回避するにはどうすればよいですか?

  15. 15

    node.jsで将来の特定の時間に関数を起動する方法は?

  16. 16

    node.jsスクリプトをcronで実行しないのはなぜですか?

  17. 17

    gatsby-node.jsで複数のcreatePageルートを使用するにはどうすればよいですか

  18. 18

    node js - how to modify an existing job in agenda

  19. 19

    どちらの方法がより便利です各実行の間にスリープを伴うエンドレスループで非同期関数を実行します(Node.js / Vanilla JS)

  20. 20

    node.js AppEngineでのcronサポート

  21. 21

    node.jsで複数のRESTAPIリクエストを非同期に実行するにはどうすればよいですか?

  22. 22

    GAEでcronジョブの時間間隔をスケジュールする

  23. 23

    実行時にNode.jsの関数でオブジェクトを生成することは可能ですか?

  24. 24

    さまざまな間隔でPythonスクリプトを実行するようにCronをスケジュールする方法

  25. 25

    node.jsで複数行の文字列を作成するにはどうすればよいですか?

  26. 26

    node.jsでコールバック関数はどのように実行されますか?

  27. 27

    Laravel job cron not working

  28. 28

    Cron Job with timeout

  29. 29

    Setting Cron Job

ホットタグ

アーカイブ