問題タブ [node-cron]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - スケジュールされたタスクを実行するには、node-cron 用にスクリプトを実行し続ける必要がありますか?
私はWebスクレイパーを構築していますが、これは初めてです。それが行うことは、ユーザーが提供した URL の Amazon 価格をスクレイピングし、価格がユーザーが設定した価格を下回るたびに電子メールを送信することです。SendGrid を使用してメールを送信しています。
しかし、質問がありました。スクリプトを約 1 時間ごとに自動的に実行するように設定し、価格が下がった場合にメールを送信したいと考えていました。オンラインで調査したところ、node-cron がそれを行うのに役立つことがわかりました。ただし、スクリプトがバックグラウンドで実行されている場合にのみ機能します。
私の主な質問は、スクリプトを実行して電子メールを送信するために、スクリプトを実際にずっと実行する必要があるかということです。そうでない場合、どうすればよいですか?
これは私の cron.js ファイルです。また、価格を追跡してメールを送信するためのコードを含む AmazonTracker.js もあります。
また、一部のリンクのコードを実行しようとすると、このエラーが発生します。私のスクリプトは一部のリンクで機能し、他のリンクではこのエラーをスローします。誰か提案があれば。
javascript - クラスにアクセスせずに JavaScript バインド (this)
クラス自体に変更を加えないと、クラスのメソッドにアクセスできません。
次のデモ コードを参照してください。
この簡単な例では、コールバックで this.otherMethod() にアクセスしたいと考えています。明らかな答えは に変更callback()
することcallback.bind(this)()
ですが、この場合、hiddenClass はライブラリになります。
この他のメソッドを呼び出すにはどうすればよいですか?
参考までに、node-cron を使用して cron ジョブを作成しようとしています。データベース チェックが true を返す場合、これらのジョブを破棄し、(コールバックで) ジョブのすべてのサイクルをチェックします。ジョブには内部メソッドがあり.destroy()
ます。cronジョブを変数に保存してから呼び出すことができることは承知してvariable.destroy()
いますが、コールバックでそれを行う方法はありますか(これらのジョブはforループで作成され、どのジョブを破棄するかを特定したくないため)コールバック内)
);
javascript - cron ですぐにジョブを開始し、実行が完了したら停止する方法はありますか?
cron を使い始めたばかりですが、1 回限りのジョブをスケジュールする方法が見つかりません。私が持っているものは私のために働いていますが、それを達成するためのより良い方法があるかどうか知りたい.
以下のコードは、ジョブを作成し、それが作成されたことをコンソールに出力します。タイマーを 1 秒ごとに設定しますが、そのすぐ下で 1.5 秒でスリープしてジョブを停止します。
node.js - ノード cron は指定された日付のみを実行し、実行成功後に完全に停止します
私はこのコードを持っています:
このコードはconsole.log('will execute')
2020 年 9 月 10 日 17:00:00 に実行され、成功しました。しかし、実行が成功した後、プロセスは停止しないと思います。
実行が成功した後、プロセスを完全に停止するのを手伝ってくれる人はいますか?
ありがとう!