Scheduling with Micronaut
Kali ini saya akan membahas tentang Scheduler / penjadwalan. Sebagai acuan percobaan saya akan membuat sebuah aplikasi microservices dengan framework micronaut yang diimplementasikan dengan scheduler.
Pertama, buatlah sebuah aplikasi microservices dengan command line / CLI.
>_ mn create-app aplikasi-scheduler
Selanjutnya buka aplikasi/project yang telah dibuat lewat tools. (seperti Netbeans, Intellij IDEA atau tools lainnya) dan buat sebuah file dengan nama HelloWorldJob.java
seperti dibawah ini.
Kemudian sisipkan codingan seperti dibawah ini.
package aplikasi.scheduler;
import io.micronaut.scheduling.annotation.Scheduled;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.inject.Singleton;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* <p>Contoh Aplikasi Microservices - 'Scheduler'</p>
* Aplikasi ini dibuat untuk membantu memudahkan para pembaca lebih memahami
* tentang pembuatan aplikasi penjadwalan.
*
* @author akyong
* */
@Singleton
public class HelloWorldJob {
private static final Logger LOG = LoggerFactory.getLogger(HelloWorldJob.class);
/*
* Penjadwalan dengan jangka waktu yang pasti adalah setiap 10 detik
* */
@Scheduled(fixedDelay = "10s")
void executeEveryTenSeconds() {
LOG.info("Simple Job setiap 10 detik :{}", new SimpleDateFormat("dd/MM/yyyy hh:mm:ss").format(new Date()));
}
/*
* Penjadwalan dengan jangka waktu yang pasti adalah 45 detik
* namun saat aplikasi mulai berjalan, hitungan detik pertamanya adalah detik ke 6
* artinya detik pertama hingga detik kelima tidak masuk hitungan karena ada "initialDelay = '5s'"
* */
@Scheduled(fixedDelay = "45s", initialDelay = "5s")
void executeEveryFourtyFiveSeconds() {
LOG.info("Simple Job setiap 45 detik - delay awal 5 detik :{}", new SimpleDateFormat("dd/MM/yyyy hh:mm:ss").format(new Date()));
}
}
Penjelasan :
- Registrasi @Singleton
- Deklarasi method dengan anotasi @Secheduled dengan delay 10 detik dan 45 detik.
- initialDelay adalah ketika aplikasi sudah berjalan hingga 5 detik barulah 45 detik ini mulai dihitung.
jika sudah pada tahap ini, buka kembali command line / CLI-nya dan jalankan command ./gradlew run
dan lihat hasilnya.
sekian, aplikasi simple membuat scheduler /penjadwalan. Source codenya bisa di download/clone di github atau di link https://github.com/akyong/aplikasi-scheduler
Silakan Share jika postingan ini bermanfaat bagi anda, mohon like dan share.