ホームページ Java &#&チュートリアル Spring Bootのタスクスケジューリングとスケジュールされたタスクの実装方法

Spring Bootのタスクスケジューリングとスケジュールされたタスクの実装方法

Jun 22, 2023 pm 11:58 PM
スケジュールされたタスク spring boot タスクのスケジュール設定

Spring Boot は非常に人気のある Java 開発フレームワークであり、迅速な開発という利点があるだけでなく、多くの実用的な機能が組み込まれています。この記事では、Spring Boot のタスクのスケジュール設定とタイミング タスクの実装方法について説明します。

1. Spring Boot タスク スケジューリングの概要

Spring Boot タスク スケジューリング (タスク スケジューリング) は、特定の時点または特定の条件下でいくつかの特定の操作を実行する自動化されたプロセスを指します。 Spring Boot タスクのスケジューリングは、スケジュールされたデータベースのバックアップ、電子メールの送信、一時ファイルや統計データの定期的なクリーニングなど、多くのシナリオを解決できます。タスクのスケジュール設定では、固定時間を指定し、この時点でタスクの実行をトリガーする必要があります。

2. Spring Boot タスク スケジューリングの実装

  1. 最初に、pom.xml ファイルに Spring Boot のスケジュールされたタスクの依存関係を導入します。一般的に使用されるスケジュールされたタスクの依存関係は次のとおりです:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-quartz</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-task</artifactId>
</dependency>
ログイン後にコピー
  1. スケジュールされたタスク クラスを作成して、次のような特定のタスク ロジックを実装します。
@Component
public class MyTask {

    @Scheduled(cron = "0 0/1 * * * ?")
    public void execute() {
        // 任务执行逻辑
    }
}
ログイン後にコピー
  1. スケジュールされたタスクを構成ファイル application.properties または application.yml で構成します。
# 配置定时任务的线程池大小
spring.task.scheduling.pool.size=5 
ログイン後にコピー
    #@Scheduled アノテーションをタスク クラスに追加し、タスクの実行時間を設定します
  1. ##
    @Component
    public class MyTask {
    
        // cron表达式:定时执行时间,这里是每分钟执行一次
        @Scheduled(cron = "0 0/1 * * * ?")
        public void execute() {
            // 任务执行逻辑
        }
    }
    ログイン後にコピー
  2. #スケジュールされたタスクを有効にする
    @SpringBootApplication
    @EnableScheduling
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }
    ログイン後にコピー
    ログイン後にコピー
  1. スケジュールされたタスクをテストすると、コンソールにはタスクの実行時間が出力され、スケジュールされたタスクが実行を開始したことが示されます。
  1. スケジュールされたタスクのアプリケーションは非常に便利です。スケジュールされたタスクと周期的なタスクの両方を実装でき、手動で実行するよりも便利で効率的です。
3. Spring Boot の定期タスクの実装

スケジュールされたタスク実行のロジックを実装するスケジュールされたタスク クラスを作成します

    @Component
    public class MyTask {
        @Scheduled(fixedRate = 5000)
        public void execute() {
            System.out.println("执行定时任务:" + LocalDateTime.now());
        }
    }
    ログイン後にコピー
  1. タスク クラス @Scheduled アノテーションを使用して、タスクの実行戦略とサイクルを指定します。
    @Scheduled(fixedRate = 5000)
    ログイン後にコピー
  1. 上記のコードは、タスクが最後の実行から 5 秒間隔後に次回実行されることを示しています。他にも一般的に使用されるスケジュールされたタスク戦略として、前回の実行が完了した後、再実行する前に一定時間待機することを意味する fixDelay や​​、最初のタスクの前に待機する必要がある時間を意味するInitialDelay などがあります。実行される; cron (柔軟で複雑な機能を意味する) 定期的なタスクの実行時間を定義する式。

@EnableScheduling アノテーションをスタートアップ クラスに追加して、スケジュールされたタスクを有効にします。

    @SpringBootApplication
    @EnableScheduling
    public class Application {
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    }
    ログイン後にコピー
    ログイン後にコピー
  1. Spring Boot プロジェクトを開始すると、タスクが自動的に実行されます。指定された時間。
  1. 4. Spring Boot のスケジュールされたタスクに関する注意事項

スケジュールされたタスクは、特にデータ量が大きい場合や同時実行性が高い状況では、遅延したり欠落したりする可能性があります。サイズとタスクのタイムアウトを設定する必要があります。

    # 配置定时任务的线程池大小
    spring.task.scheduling.pool.size=5
    ログイン後にコピー
  1. スケジュールされたタスクを有効にするには、@EnableScheduling アノテーションをスタートアップ クラスに追加するだけです。繰り返し実行しないでください。そうしないと、スケジュールされたタスクが複数回実行されることになります。 。
      同時実行パフォーマンスが低いスケジュールされたタスクの実装方法の使用を避け、同時実行パフォーマンスの高いソリューションを使用して効率的な実行を実現します。
    1. 結論
    2. この記事では、Spring Boot のタスク スケジューリングとタイミング タスクの実装方法を紹介し、この記事を学習することで、タスク スケジューリングの基本的な知識と使い方をマスターできます。タスク スケジューリングは Java 開発に不可欠な部分であり、Spring Boot タスク スケジューリングの実装メカニズムを理解することは、高可用性システムの開発に非常に役立ちます。

    以上がSpring Bootのタスクスケジューリングとスケジュールされたタスクの実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

crontab のスケジュールされたタスクが実行されない理由をご存知ですか? crontab のスケジュールされたタスクが実行されない理由をご存知ですか? Mar 09, 2024 am 09:49 AM

crontab のスケジュールされたタスクが実行されない原因まとめ 更新日時: 2019年1月9日 09:34:57 作成者: Hope on the field. この記事では主に、crontab のスケジュールされたタスクが実行されない原因をいくつかまとめて紹介します。考えられるトリガーごとに解決策が示されており、この問題に遭遇した同僚にとって一定の参照と学習価値があります。必要な学生はエディターに従って一緒に学習できます。序文: 最近仕事でいくつかの問題に遭遇しました。crontab のスケジュール設定タスクが実行されませんでした後、インターネットで検索したところ、インターネットでは主に次の 5 つのインセンティブについて言及されていることがわかりました: 1. crond サービスが開始されていない Crontab は Linux カーネルの機能ではなく、cron に依存しています。

ThinkPHP6 スケジュールされたタスクのスケジュール設定: スケジュールされたタスクの実行 ThinkPHP6 スケジュールされたタスクのスケジュール設定: スケジュールされたタスクの実行 Aug 12, 2023 pm 03:28 PM

ThinkPHP6 スケジュールされたタスクのスケジューリング: スケジュールされたタスクの実行 1. はじめに Web アプリケーション開発のプロセスでは、特定の反復タスクを定期的に実行する必要がある状況によく遭遇します。 ThinkPHP6 は、スケジュールされたタスクのニーズを簡単に満たすことができる、強力なスケジュールされたタスクのスケジューリング機能を提供します。この記事では、ThinkPHP6 でスケジュールされたタスクのスケジューリングを使用する方法を紹介し、理解を助けるいくつかのコード例を示します。 2. スケジュールされたタスクを構成し、スケジュールされたタスク ファイルを作成し、プロジェクトのアプリ ディレクトリにコマンドを作成します。

Spring Boot + MyBatis + Atomikos + MySQL (ソースコード付き) Spring Boot + MyBatis + Atomikos + MySQL (ソースコード付き) Aug 15, 2023 pm 04:12 PM

実際のプロジェクトでは、分散トランザクションを避けるように努めます。ただし、場合によってはサービスを分割する必要があり、分散トランザクションの問題が発生することがあります。同時に、分散取引についても面接で質問されるので、このケースで練習し、面接で 123 について話すことができます。

Python は、ヘッドレス ブラウザー コレクション アプリケーションの自動ページ更新とスケジュールされたタスク関数分析を実装します。 Python は、ヘッドレス ブラウザー コレクション アプリケーションの自動ページ更新とスケジュールされたタスク関数分析を実装します。 Aug 08, 2023 am 08:13 AM

Python は、ヘッドレス ブラウザ収集アプリケーション向けにページの自動更新とスケジュールされたタスク機能分析を実装します。ネットワークの急速な発展とアプリケーションの普及に伴い、Web ページ データの収集はますます重要になっています。ヘッドレス ブラウザは、Web ページのデータを収集するための効果的なツールの 1 つです。この記事では、Pythonを使用してヘッドレスブラウザの自動ページ更新機能やスケジュールタスク機能を実装する方法を紹介します。ヘッドレス ブラウザは、グラフィカル インターフェイスを使用しないブラウザ操作モードを採用しており、人間の操作動作を自動化してシミュレートできるため、ユーザーは Web ページにアクセスし、ボタンをクリックし、情報を入力できます。

PHP を使用して Web ページのスケジュールされた更新機能を開発する方法 PHP を使用して Web ページのスケジュールされた更新機能を開発する方法 Aug 17, 2023 pm 04:25 PM

PHP を使用して Web ページのスケジュールされた更新機能を開発する方法 インターネットの発展に伴い、表示データをリアルタイムで更新する必要がある Web サイトが増えています。ページをリアルタイムで更新することは一般的な要件であり、これによりユーザーはページ全体を更新しなくても最新のデータを取得できます。この記事では、PHP を使用して Web ページのスケジュールされた更新機能を開発する方法を紹介し、コード例を示します。 Meta タグを使用してスケジュールされた更新を実装する最も簡単な方法は、HTML Meta タグを使用してページを定期的に更新することです。 HTML&lt;head&gt; 内

Spring Boot は MySQL の読み取り/書き込み分離テクノロジを実装します Spring Boot は MySQL の読み取り/書き込み分離テクノロジを実装します Aug 15, 2023 pm 04:52 PM

読み取りと書き込みの分離を実現する方法、Spring Boot プロジェクト、データベースは MySQL、永続層は MyBatis を使用します。

C++ を使用して組み込みシステムのスケジュールされたタスク機能を実装する方法 C++ を使用して組み込みシステムのスケジュールされたタスク機能を実装する方法 Aug 27, 2023 pm 12:05 PM

C++ を使用して組み込みシステムのスケジュールされたタスク関数を実装する方法 組み込みシステムでは、多くの場合、スケジュールされたタスク関数、つまり特定の時間間隔内にいくつかのタスクを実行する必要があります。 C++ は強力なプログラミング言語として、そのような機能を実現するための多くのツールとライブラリを提供します。この記事では、C++ プログラミング言語を使用して組み込みシステムにスケジュールされたタスク関数を実装する方法を紹介し、いくつかのコード例を示します。タイマー割り込みの使用 組み込みシステムでは、タイマー割り込みを使用して、スケジュールされたタスク機能を実装できます。タイマーをセットすることで

PHP スケジュールされたタスクの実装: 10 分ごとに注文をキャンセルする手順 PHP スケジュールされたタスクの実装: 10 分ごとに注文をキャンセルする手順 Mar 01, 2024 pm 09:18 PM

タイトル: PHP スケジュールされたタスクの実装: 10 分ごとに注文をキャンセルする操作手順 電子商取引プラットフォームやオンライン取引 Web サイトでは、注文処理は重要なリンクです。場合によっては、ユーザーが注文後長期間支払わない場合や、その他の理由で注文をキャンセルする必要がある場合があります。注文を自動的にキャンセルするには、PHP スケジュールされたタスクを使用して注文を確認し、10 分ごとにキャンセルします。ステップ 1: スケジュールされたタスクをセットアップする まず、サーバー上でスケジュールされたタスクをセットアップする必要があります。

See all articles