java - 一个项目在集群中运行,如何让定时任务只运行一次?
黄舟
黄舟 2017-04-18 10:32:05
0
8
1103

一个项目在集群中运行,如何让定时任务只运行一次?不加限制就会导致重复计算的问题。

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

membalas semua(8)
洪涛

Untuk Java, disyorkan untuk menggunakan kuarza
1. Kuarza sangat mudah untuk melakukan pelbagai tugasan yang dijadualkan
2 satu perkhidmatan melalui jadual pangkalan data.

左手右手慢动作

Dengan mengandaikan bahawa anda menggunakan quartz dengan cara yang paling mudah, maka anda perlu mengubah suainya dalam kod dan menambah operasi mendapatkan kunci dalam logik kerja Kunci ini boleh digunakan dalam pangkalan data : masukkan perniagaan yang bermakna Apabila melaksanakan rekod kunci utama, hanya satu kerja yang sama dalam kelompok akan berjaya dimasukkan, yang bermaksud ia telah memperoleh kunci dan boleh dilaksanakan Jika tidak, tugas itu akan dikeluarkan dan tidak dilaksanakan.

Ty80

Konfigurasikan Pengelompokan dengan JDBC-JobStore

Ciri pengelompokan kuarza membawa kedua-dua ketersediaan dan kebolehskalaan yang tinggi kepada penjadual anda melalui fungsi kegagalan dan pengimbangan beban.

Kuarza sendiri menyokong pengelompokan, toleransi kesalahan dan pengimbangan beban. Ini boleh dicapai tanpa mengubah sebarang kod.

巴扎黑

rangka kerja kuarza menyokong pengelompokan

左手右手慢动作

Anda boleh membina sistem perisian tengah yang secara khusus mengurus pencetusan tugas berjadual dan langganan serta penggunaan mesej Apabila masa dicetuskan, mesej akan dihantar dan sistem kluster akan melanggan mesej ini. Mesej boleh dihantar secara rawak ke mana-mana mesin dalam kluster.

左手右手慢动作

Mesin akan menyiarkan mesej ke mesin lain apabila ia mula menentukan masa. Tetapi selang masa setiap mesin adalah masalah. Semuanya dihidupkan dengan kerap sebelum mesej dihantar...

阿神
  1. Gunakan zookeeper, redis, dsb. untuk menyimpan status pelaksanaan tugas berjadual dan maklumat lain secara manual untuk memastikan ia dilaksanakan sekali sahaja.

  2. Ekstrak tugas berjadual ke dalam projek berasingan (dijalankan pada satu mesin), tetapi kandungan khusus tugas itu memanggil perkhidmatan teragih tertentu melalui panggilan jauh (dubbo, mq, dsb.). Maksudnya, tugas berjadual hanya digunakan untuk mencetuskan tugas sahaja, dan tugas khusus dilaksanakan dalam cara yang diedarkan.

  3. Gunakan pelbagai sistem penjadualan tugas yang diedarkan, seperti Uncode-Schedule

Ty80

Cenderung untuk mencipta program yang berdiri sendiri

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan