プログラムの実行を遅らせ、アクセスの遅延時間を指定する方法 (リクエストを受信した後にリクエストを記録するなど、後続の操作を 1 日遅らせることができるようにする)
スケジュールフレームワークquartzを使用できます
1. 受信したデータをデータベースに記録します
2. Linux では、crond を使用してスケジュールされたタスクを確認し、java によって提供されるトリガー タスク インターフェイスを呼び出すことができます
3. タスクを Redis に追加し、スケジュールされた処理に Java を使用します。
リクエストを受信したらスレッドを作成し、ScheduledThreadPoolExecutor メソッドを使用して一定の遅延後にスレッドを実行します。
SpringMVCのQuartzは複数のスケジュールされたタスクを自由に設定できます
Java Web プロジェクトの場合は、バックグラウンドでサーブレットを開始します。たとえば、<servlet><servlet-name>servlet的名字</servlet-name><servlet-class>servlet所在的包的路径</servlet-class> <load-on-startup>1</load-on-startup></servlet>
<servlet><servlet-name>servlet的名字</servlet-name><servlet-class>servlet所在的包的路径</servlet-class> <load-on-startup>1</load-on-startup></servlet>
そして、バックグラウンドでスレッド プールを維持し、遅延する必要があるリクエストをスレッド プールに追加し、その後の検査のために各スレッドにタイムスタンプを追加します。サーブレットは定期的にスレッド プールからスレッドを取り出して、スレッド プールに遅延が必要かどうかを確認します。 If 実行条件が満たされると、スレッドは実行され、満たされない場合はスレッド プールに戻されます。 Web プロジェクトではない場合は、Java のタイマーを使用して、スレッド プールを維持し、タイマーを使用して定期的にチェックすることができます。
スケジュールフレームワークquartzを使用できます
1. 受信したデータをデータベースに記録します
2. Linux では、crond を使用してスケジュールされたタスクを確認し、java によって提供されるトリガー タスク インターフェイスを呼び出すことができます
3. タスクを Redis に追加し、スケジュールされた処理に Java を使用します。
リクエストを受信したらスレッドを作成し、ScheduledThreadPoolExecutor メソッドを使用して一定の遅延後にスレッドを実行します。
SpringMVCのQuartzは複数のスケジュールされたタスクを自由に設定できます
Java Web プロジェクトの場合は、バックグラウンドでサーブレットを開始します。
たとえば、
<servlet><servlet-name>servlet的名字</servlet-name><servlet-class>servlet所在的包的路径</servlet-class> <load-on-startup>1</load-on-startup></servlet>
そして、バックグラウンドでスレッド プールを維持し、遅延する必要があるリクエストをスレッド プールに追加し、その後の検査のために各スレッドにタイムスタンプを追加します。サーブレットは定期的にスレッド プールからスレッドを取り出して、スレッド プールに遅延が必要かどうかを確認します。 If 実行条件が満たされると、スレッドは実行され、満たされない場合はスレッド プールに戻されます。 Web プロジェクトではない場合は、Java のタイマーを使用して、スレッド プールを維持し、タイマーを使用して定期的にチェックすることができます。