All Products
Search
Document Center

Function Compute:Pemicu waktu

Last Updated:Mar 20, 2026

Pemicu waktu secara otomatis mengeksekusi fungsi pada waktu tertentu atau sesuai jadwal berulang. Fitur ini menyediakan penjadwalan tugas yang fleksibel dan ideal untuk aplikasi yang memerlukan tugas periodik.

Skenario

Skenario umum penggunaan pemicu waktu meliputi hal-hal berikut:

  • Pemrosesan data batch terjadwal, seperti mengumpulkan data lengkap setiap jam untuk menghasilkan laporan.

  • Menjadwalkan aksi harian, seperti mengirim kupon tepat pada jam tertentu.

  • Tugas asinkron yang dipisahkan dari logika bisnis, seperti membersihkan data setiap hari pada tengah malam.

Prasyarat

Anda telah membuat sebuah fungsi.

Langkah 1: Membuat pemicu waktu

  1. Masuk ke Function Compute console. Di panel navigasi sebelah kiri, pilih Function Management > Functions.

  2. Di bilah navigasi atas, pilih Wilayah. Pada halaman Functions, klik fungsi yang dituju.

  3. Di halaman detail fungsi, pilih tab Trigger, lalu klik Create Trigger.

  4. Di panel Create Trigger, konfigurasikan parameter, lalu klik OK.

    Parameter

    Action

    Contoh

    Trigger Type

    Pilih Time Trigger.

    Time Trigger

    Name

    Masukkan nama kustom untuk pemicu tersebut.

    my_trigger

    Version or Alias

    Nilai default-nya adalah LATEST. Untuk membuat pemicu untuk versi atau alias lain, terlebih dahulu alihkan ke versi atau alias tersebut di pojok kanan atas halaman detail fungsi. Untuk informasi selengkapnya tentang versi dan alias, lihat Version management dan Alias management.

    LATEST

    Trigger Mode

    Pilih metode pemicu sesuai kebutuhan:

    • Interval: Di kotak teks Interval, masukkan bilangan bulat positif n untuk mengeksekusi fungsi setiap n menit.

    • Select Custom Time: Pilih zona waktu dan tentukan tanggal, hari dalam minggu, serta waktu agar fungsi dieksekusi pada waktu yang ditentukan dalam zona waktu tersebut.

    • Custom Settings: Di kotak teks Cron Expression, masukkan ekspresi cron untuk mengeksekusi fungsi pada waktu yang ditentukan oleh ekspresi tersebut.

    Time Interval

    Trigger Message

    Masukkan parameter kustom. Pesan pemicu ini digunakan sebagai nilai payload dalam event.

    Ukuran pesan pemicu dibatasi hingga 128 KB, sama dengan batas payload untuk pemanggilan asinkron.

    awesome-fc

    Jika Anda memiliki kebutuhan zona waktu tertentu dan perlu menyesuaikan Cron Expression, lihat penjelasan berikut mengenai ekspresi waktu.

    • Ekspresi cron (UTC)

      Ekspresi cron secara default berjalan dalam UTC, yang delapan jam lebih awal daripada Waktu Beijing (UTC+8). Misalnya, untuk menjadwalkan fungsi agar berjalan setiap hari pukul 12.00 Waktu Beijing (UTC+8), waktu UTC-nya setara dengan pukul 04.00, sehingga Anda dapat menggunakan 0 0 4 * * *.

    • Ekspresi cron (UTC+8)

      Jika tugas Anda perlu berjalan dalam zona waktu tertentu, tentukan dengan menggunakan CRON_TZ. Misalnya, untuk memicu fungsi pada pukul 04.00 di hari pertama setiap bulan dalam zona waktu UTC+8, gunakan CRON_TZ=Asia/Shanghai 0 0 4 1 * *. Ekspresi zona waktu bervariasi tergantung wilayahnya. Gunakan ekspresi yang berlaku untuk wilayah Anda.

      Catatan

      Jika zona waktu Anda menerapkan daylight saving time (DST), tugas mungkin dieksekusi dua kali atau dilewatkan selama transisi antara DST dan waktu standar. Kami menyarankan menjadwalkan tugas di luar periode transisi tersebut.

    Setelah pemicu dibuat, pemicu tersebut akan muncul dalam daftar Trigger Name. Untuk mengubah atau menghapus pemicu, lihat Manage triggers.

Langkah 2: Mengonfigurasi parameter entri fungsi

  1. Di tab Code halaman detail fungsi, klik ikon image.png di samping Test Function dan pilih Configure Test Parameters dari daftar drop-down.

  2. Di panel Configure Test Parameters, pilih Create New Test Event atau Modify Existing Test Event. Masukkan nama event dan konten event, lalu klik OK.

    Pemicu waktu menggunakan format event berikut untuk memicu fungsi.

    {
        "triggerTime":"2023-12-26T07:49:00Z",
        "triggerName":"timer-trigger",
        "payload":"awesome-fc"
    }              

    Parameter

    Tipe

    Nilai Contoh

    Deskripsi

    triggerTime

    String

    2023-12-26T07:49:00Z

    Waktu saat fungsi dipicu.

    triggerName

    String

    timer-trigger

    Nama pemicu waktu.

    payload

    String

    awesome-fc

    Parameter kustom yang Anda masukkan dalam konfigurasi pemicu. Ini adalah nilai dari Trigger Message.

Langkah 3: Menulis dan menguji kode fungsi

Setelah membuat pemicu waktu, tulis dan uji kode fungsi untuk memverifikasi bahwa fungsinya bekerja dengan benar. Pemicu waktu akan secara otomatis mengeksekusi fungsi pada waktu yang ditentukan.

  1. Di halaman detail fungsi, pada tab Code, tulis kode di editor kode, lalu klik Deploy.

    Topik ini menggunakan kode Python sebagai contoh. Kode contohnya adalah sebagai berikut.

    import json
    import logging
    
    logger = logging.getLogger()
    
    def handler(event, context):
        logger.info('event: %s', event)
    
        # Parse the JSON.
        evt = json.loads(event)
        triggerName = evt["triggerName"]
        triggerTime = evt["triggerTime"]
        payload = evt["payload"]
    
        logger.info('triggerName: %s', triggerName)
        logger.info("triggerTime: %s", triggerTime)
        logger.info("payload: %s", payload)   
    
        return 'Timer Payload: ' + payload                      
  2. Klik Test Function.

    Setelah eksekusi selesai, lihat hasilnya di atas tab Code.

Referensi

Jika pemicu waktu yang Anda konfigurasi gagal mengeksekusi fungsi, pertama-tama periksa metode pemicu dan pengaturan waktu yang sesuai. Jika Anda menetapkan Cron Expression kustom, perhatikan bahwa ekspresi tersebut secara default menggunakan UTC. Untuk metode troubleshooting, lihat What do I do if a trigger fails to execute a function?.