Rumah Java javaTutorial Penjadualan tugas Spring Boot dan kaedah pelaksanaan tugas berjadual

Penjadualan tugas Spring Boot dan kaedah pelaksanaan tugas berjadual

Jun 22, 2023 pm 11:58 PM
tugas yang dijadualkan spring boot Penjadualan tugas

Spring Boot ialah rangka kerja pembangunan Java yang sangat popular. Ia bukan sahaja mempunyai kelebihan pembangunan pesat, tetapi juga mempunyai banyak fungsi terbina dalam yang praktikal. Antaranya, penjadualan tugas dan tugas berjadual adalah salah satu fungsi yang biasa digunakan. Artikel ini akan meneroka kaedah penjadualan tugas Spring Boot dan kaedah pelaksanaan tugas masa.

1. Pengenalan kepada penjadualan tugas Spring Boot

Penjadualan tugas Spring Boot (Penjadualan Tugas) merujuk kepada proses automatik untuk melaksanakan beberapa operasi tertentu pada masa tertentu atau dalam keadaan tertentu. Penjadualan tugas Spring Boot boleh menyelesaikan banyak senario, seperti sandaran pangkalan data berjadual, menghantar e-mel, membersihkan fail sementara secara kerap, data statistik, dsb. Penjadualan tugasan perlu memberikan masa yang tetap dan kemudian mencetuskan pelaksanaan tugas pada titik masa ini.

2. Pelaksanaan penjadualan tugas Spring Boot

  1. Perkenalkan kebergantungan tugas berjadual Spring Boot dalam fail pom.xml yang biasa digunakan:
<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>
Salin selepas log masuk
  1. Buat kelas tugas berjadual untuk melaksanakan logik tugasan tertentu, seperti:
@Component
public class MyTask {

    @Scheduled(cron = "0 0/1 * * * ?")
    public void execute() {
        // 任务执行逻辑
    }
}
Salin selepas log masuk
  1. Konfigurasikan tugas berjadual dalam fail konfigurasi application.properties atau application.yml
# 配置定时任务的线程池大小
spring.task.scheduling.pool.size=5 
Salin selepas log masuk
  1. Tambah anotasi @Scheduled pada kelas tugas dan tetapkan masa pelaksanaan tugas
@Component
public class MyTask {

    // cron表达式:定时执行时间,这里是每分钟执行一次
    @Scheduled(cron = "0 0/1 * * * ?")
    public void execute() {
        // 任务执行逻辑
    }
}
Salin selepas log masuk
  1. Dayakan tugasan berjadual
@SpringBootApplication
@EnableScheduling
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
Salin selepas log masuk
Salin selepas log masuk
  1. Uji tugas yang dijadualkan, dan konsol akan mengeluarkan masa pelaksanaan tugas, menunjukkan bahawa tugas yang dijadualkan telah mula dilaksanakan

Aplikasi tugasan yang dijadualkan adalah sangat luas, dan ia boleh melaksanakan kedua-dua tugas berjadual dan tugas kitaran Berbanding dengan pelaksanaan manual, ia lebih mudah dan cekap.

3. Pelaksanaan tugas berkala Spring Boot

  1. Tulis kelas tugas berjadual untuk melaksanakan logik pelaksanaan tugas berjadual
@Component
public class MyTask {
    @Scheduled(fixedRate = 5000)
    public void execute() {
        System.out.println("执行定时任务:" + LocalDateTime.now());
    }
}
Salin selepas log masuk
  1. Dalam kelas tugas Gunakan anotasi @Scheduled untuk menentukan strategi pelaksanaan dan kitaran tugasan
@Scheduled(fixedRate = 5000)
Salin selepas log masuk

Kod di atas menunjukkan bahawa tugasan akan dilaksanakan pada kali seterusnya selepas selang 5 saat selepas pelaksanaan terakhir. Terdapat strategi tugas berjadual lain yang biasa digunakan, seperti fixedDelay, yang bermaksud bahawa selepas pelaksanaan sebelumnya selesai, tunggu untuk tempoh masa tertentu sebelum melaksanakannya semula, yang bermaksud masa yang perlu menunggu sebelum tugasan pertama dilaksanakan; cron, yang bermaksud fleksibel dan kompleks Ungkapan yang mentakrifkan masa pelaksanaan tugas berkala.

  1. Tambah anotasi @EnableScheduling pada kelas permulaan untuk mendayakan tugasan yang dijadualkan
@SpringBootApplication
@EnableScheduling
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
Salin selepas log masuk
Salin selepas log masuk
  1. Mulakan projek Spring Boot, dan tugasan akan dilaksanakan secara automatik pada masa yang ditentukan.

4 Langkah berjaga-jaga untuk tugas berjadual Spring Boot

  1. Tugas berjadual mungkin tertunda atau terlepas, terutamanya dalam situasi volum data yang besar atau konkurensi yang tinggi saiz dan tamat masa tugas hendaklah ditetapkan.
# 配置定时任务的线程池大小
spring.task.scheduling.pool.size=5
Salin selepas log masuk
  1. Anda hanya perlu menambah anotasi @EnableScheduling pada kelas permulaan untuk mendayakan tugasan yang dijadualkan itu berulang kali, jika tidak, ia akan menyebabkan tugasan yang dijadualkan akan dilaksanakan beberapa kali .
  2. Elakkan menggunakan kaedah pelaksanaan tugas berjadual dengan prestasi serentak rendah dan gunakan penyelesaian serentak tinggi untuk mencapai pelaksanaan yang cekap.
  3. Kesimpulan

Artikel ini memperkenalkan penjadualan tugas Spring Boot dan kaedah pelaksanaan tugas masa Dengan mempelajari artikel ini, pembaca boleh menguasai pengetahuan asas dan penggunaan penjadualan tugas. Penjadualan tugas adalah bahagian penting dalam pembangunan Java Memahami mekanisme pelaksanaan penjadualan tugas Spring Boot akan sangat membantu kami dalam membangunkan sistem ketersediaan tinggi.

Atas ialah kandungan terperinci Penjadualan tugas Spring Boot dan kaedah pelaksanaan tugas berjadual. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Adakah anda tahu beberapa sebab mengapa tugas berjadual crontab tidak dilaksanakan? Adakah anda tahu beberapa sebab mengapa tugas berjadual crontab tidak dilaksanakan? Mar 09, 2024 am 09:49 AM

Ringkasan beberapa sebab mengapa tugas berjadual crontab tidak dilaksanakan Masa kemas kini: 9 Januari 2019 09:34:57 Penulis: Harapan di medan ini terutamanya meringkaskan dan memperkenalkan kepada anda beberapa sebab mengapa tugas berjadual crontab tidak dilaksanakan setiap orang Penyelesaian diberikan untuk setiap pencetus yang mungkin, yang mempunyai rujukan dan nilai pembelajaran tertentu untuk rakan sekerja yang menghadapi masalah ini. Pelajar yang memerlukan boleh mengikuti editor untuk belajar bersama-sama: Saya telah menghadapi beberapa masalah di tempat kerja yang dijadualkan tugas tidak dilaksanakan Kemudian, apabila saya mencari di Internet, saya mendapati bahawa Internet terutamanya menyebut lima insentif ini: 1. Perkhidmatan crontab bukan fungsi kernel Linux, tetapi bergantung pada cron.

Penjadualan tugas berjadual ThinkPHP6: pelaksanaan tugas berjadual Penjadualan tugas berjadual ThinkPHP6: pelaksanaan tugas berjadual Aug 12, 2023 pm 03:28 PM

Penjadualan tugas berjadual ThinkPHP6: pelaksanaan tugas berjadual 1. Pengenalan Dalam proses pembangunan aplikasi web, kita sering menghadapi situasi di mana tugas berulang tertentu perlu dilaksanakan dengan kerap. ThinkPHP6 menyediakan fungsi penjadualan tugas berjadual yang berkuasa, yang boleh memenuhi keperluan tugas berjadual dengan mudah. Artikel ini akan memperkenalkan cara menggunakan penjadualan tugas berjadual dalam ThinkPHP6 dan menyediakan beberapa contoh kod untuk membantu memahami. 2. Konfigurasikan tugas berjadual, buat fail tugas berjadual dan buat koman dalam direktori aplikasi projek.

Spring Boot+MyBatis+Atomikos+MySQL (dengan kod sumber) Spring Boot+MyBatis+Atomikos+MySQL (dengan kod sumber) Aug 15, 2023 pm 04:12 PM

Dalam projek sebenar, kami cuba mengelakkan transaksi yang diedarkan. Walau bagaimanapun, kadangkala ia benar-benar perlu untuk melakukan beberapa pemisahan perkhidmatan, yang akan membawa kepada masalah transaksi yang diedarkan. Pada masa yang sama, transaksi yang diedarkan juga ditanya di pasaran semasa temu bual Anda boleh berlatih dengan kes ini, dan anda boleh bercakap tentang 123 dalam temu bual.

Python melaksanakan penyegaran halaman automatik dan analisis fungsi tugas berjadual untuk aplikasi pengumpulan pelayar tanpa kepala Python melaksanakan penyegaran halaman automatik dan analisis fungsi tugas berjadual untuk aplikasi pengumpulan pelayar tanpa kepala Aug 08, 2023 am 08:13 AM

Python melaksanakan penyegaran halaman automatik dan analisis fungsi tugas berjadual untuk aplikasi pengumpulan pelayar tanpa kepala Dengan perkembangan pesat rangkaian dan pempopularan aplikasi, pengumpulan data halaman web menjadi semakin penting. Pelayar tanpa kepala adalah salah satu alat yang berkesan untuk mengumpul data halaman web. Artikel ini akan memperkenalkan cara menggunakan Python untuk melaksanakan penyegaran halaman automatik dan fungsi tugas berjadual pelayar tanpa kepala. Pelayar tanpa kepala menggunakan mod operasi penyemak imbas tanpa antara muka grafik, yang boleh mensimulasikan tingkah laku operasi manusia secara automatik, dengan itu membolehkan pengguna mengakses halaman web, mengklik butang dan mengisi maklumat.

Cara menggunakan PHP untuk membangunkan fungsi penyegaran berjadual untuk halaman web Cara menggunakan PHP untuk membangunkan fungsi penyegaran berjadual untuk halaman web Aug 17, 2023 pm 04:25 PM

Cara menggunakan PHP untuk membangunkan fungsi penyegaran berjadual untuk halaman web Dengan perkembangan Internet, semakin banyak laman web perlu mengemas kini data paparan dalam masa nyata. Muat semula halaman dalam masa nyata adalah keperluan biasa, yang membolehkan pengguna mendapatkan data terkini tanpa memuat semula keseluruhan halaman. Artikel ini akan memperkenalkan cara menggunakan PHP untuk membangunkan fungsi muat semula berjadual untuk halaman web dan menyediakan contoh kod. Cara paling mudah untuk melaksanakan muat semula berjadual menggunakan teg Meta ialah menggunakan teg Meta HTML untuk menyegarkan halaman dengan kerap. Dalam HTML&lt;head&gt;

Spring Boot melaksanakan teknologi pemisahan baca-tulis MySQL Spring Boot melaksanakan teknologi pemisahan baca-tulis MySQL Aug 15, 2023 pm 04:52 PM

Bagaimana untuk mencapai pemisahan baca-tulis, projek Spring Boot, pangkalan data adalah MySQL, dan lapisan kegigihan menggunakan MyBatis.

Pelaksanaan tugas berjadual PHP: langkah untuk membatalkan pesanan setiap 10 minit Pelaksanaan tugas berjadual PHP: langkah untuk membatalkan pesanan setiap 10 minit Mar 01, 2024 pm 09:18 PM

Tajuk: Pelaksanaan tugas berjadual PHP: Langkah operasi untuk membatalkan pesanan setiap 10 minit Dalam platform e-dagang atau tapak web dagangan dalam talian, pemprosesan pesanan ialah pautan penting. Kadangkala pengguna mungkin tidak membayar untuk masa yang lama selepas membuat pesanan, atau pesanan itu perlu dibatalkan atas sebab lain. Untuk membatalkan pesanan secara automatik, kami boleh menggunakan tugas berjadual PHP untuk menyemak pesanan dan membatalkannya setiap 10 minit. Berikut ialah langkah operasi dan contoh kod khusus: Langkah 1: Sediakan tugas berjadual Pertama, kita perlu menyediakan tugas berjadual pada pelayan untuk membiarkan

Cara menggunakan C++ untuk melaksanakan fungsi tugas berjadual sistem terbenam Cara menggunakan C++ untuk melaksanakan fungsi tugas berjadual sistem terbenam Aug 27, 2023 pm 12:05 PM

Cara menggunakan C++ untuk melaksanakan fungsi tugas berjadual sistem terbenam selalunya perlu melaksanakan fungsi tugas berjadual, iaitu, untuk melaksanakan beberapa tugas dalam selang masa tertentu. Sebagai bahasa pengaturcaraan yang berkuasa, C++ menyediakan kita dengan banyak alatan dan perpustakaan untuk mencapai fungsi tersebut. Artikel ini akan memperkenalkan cara menggunakan bahasa pengaturcaraan C++ untuk melaksanakan fungsi tugas berjadual dalam sistem terbenam dan menyediakan beberapa contoh kod. Menggunakan gangguan pemasa Dalam sistem terbenam, kita boleh menggunakan gangguan pemasa untuk melaksanakan fungsi tugas berjadual. Dengan menetapkan pemasa

See all articles