1

Azure WebサイトでNode.jsアプリを実行していて、タイマーを30秒ごとに無期限にオフにしようとしています。setIntervalとnode-cronの両方を使用してみましたが、どちらも約30分後に機能しなくなります。ログにエラーはなく、サイトは稼働したままですが、タイマーは起動を停止します。タイマーを再開または再作成できますが、さらに30分後にタイマーが機能しなくなります。

私は無料試用期間中ですが、ここで何らかのアカウント制限が発生していますか?または、これを行う必要がある他の方法、またはタイマーを停止させている原因を特定する方法はありますか?

4

1 に答える 1

4

WebサイトでNode.jsをホストする場合(または実際にはCloudServicesのnode.jspowershellサポートを使用する場合)、ノードプロセスはIISNodeによってホストされます。

IISNodeは、ノードプロセスのライフサイクルを管理します。30分後に意図的にシャットダウンしていると思います。

稼働し続けるプロセスが必要な場合は、Azureでノードを自分で実行する必要があります。2つのオプションがあります。

  1. 仮想マシン(現在プレビュー中)を使用し、node.exeとjavascriptを手動で仮想マシンにコピーし、アプリを手動で(またはスケジュールされたタスクなどとして)起動します。WindowsまたはLinuxのいずれかを使用できます。
  2. クラウドサービスを使用して、起動タスクとしてノードを起動するワーカーロールを作成します。これにより、スケーリングも可能になります。
于 2012-12-11T16:56:29.007 に答える