All Products
Search
Document Center

Microservices Engine:Atur waktu data

Last Updated:Mar 12, 2026

Pekerjaan terjadwal sering kali perlu memproses data yang telah tersedia sebelum pekerjaan tersebut dijalankan. Misalnya, pekerjaan harian yang dipicu pukul 00.30 mungkin perlu memproses data dari pukul 23.30 hari sebelumnya, tetapi waktu pemicu saja tidak mencerminkan jendela ketersediaan data yang sebenarnya.

SchedulerX menyediakan parameter Time offset yang menggeser waktu data yang dikembalikan oleh context.getDataTime(). Hal ini memungkinkan pekerjaan menargetkan jendela data yang tepat, terlepas dari waktu pemicu aktualnya.

Cara kerja

Saat suatu pekerjaan dijalankan, SchedulerX menghitung waktu data dengan menerapkan time offset yang dikonfigurasi ke waktu pemicu:

Waktu data = Waktu pemicu + Time offset

Di dalam pekerjaan, context.getDataTime() mengembalikan waktu yang telah disesuaikan ini, bukan waktu pemicu. Logika pekerjaan Anda menggunakan waktu tersebut untuk melakukan kueri atau memfilter data dari jendela waktu yang benar.

Contoh berikut menunjukkan bagaimana nilai offset memengaruhi waktu data:

JadwalWaktu pemicuTime offsetWaktu data (getDataTime())
Harian pukul 00.3000.30 hari ini-3600 (1 jam)23.30 hari sebelumnya
Nilai time offset dinyatakan dalam satuan detik. Nilai negatif menggeser waktu data ke masa lalu.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Agen SchedulerX yang terhubung ke aplikasi Anda (lihat topik Quick start)

Konfigurasikan time offset untuk suatu pekerjaan

Untuk mengonfigurasi time offset, implementasikan kelas pekerjaan yang membaca waktu data yang telah disesuaikan, lalu buat pekerjaan tersebut di Konsol SchedulerX dengan nilai offset yang ditentukan.

Langkah 1: Ambil waktu data di kelas pekerjaan Anda

Perluas JavaProcessor dan panggil context.getDataTime() untuk mengambil waktu data yang telah di-offset.

public class TestHelloJob extends JavaProcessor {

    @Override
    public ProcessResult process(JobContext context) throws Exception {
        System.out.println("hello schedulerx2.0");

        // getDataTime() mengembalikan waktu pemicu yang telah disesuaikan dengan time offset.
        // Gunakan waktu ini untuk melakukan kueri data dari jendela waktu yang benar.
        System.out.println("dataTime=" + context.getDataTime().toString("yyyy-MM-dd HH:mm:ss"));

        return new ProcessResult(true);
    }

}
ElemenDeskripsi
JavaProcessorKelas dasar untuk pekerjaan SchedulerX
context.getDataTime()Mengembalikan waktu data, yaitu waktu pemicu ditambah time offset yang dikonfigurasi
ProcessResult(true)Menandakan bahwa pekerjaan berhasil diselesaikan

Langkah 2: Buat pekerjaan dan atur time offset

  1. Buat pekerjaan di Konsol SchedulerX. Untuk detailnya, lihat Create a job.

  2. Pada halaman wizard Timing configuration, atur parameter Time offset.

    ParameterNilaiDeskripsi
    Time offset-3600Menggeser waktu data 1 jam ke masa lalu. Satuan: detik.

Dengan konfigurasi ini, pekerjaan dipicu pada pukul 00.30, tetapi context.getDataTime() mengembalikan pukul 23.30 pada hari sebelumnya.

Verifikasi hasil

  1. Setelah pekerjaan dijalankan, buka halaman Instances.

  2. Temukan instans pekerjaan tersebut dan klik Details di kolom Operation.

  3. Pada halaman Job Instance Details, klik Basic Information.

  4. Konfirmasi bahwa bidang Data Time menampilkan waktu yang telah di-offset sesuai ekspektasi (misalnya, 23.30 hari sebelumnya, bukan 00.30).

Langkah selanjutnya