全部产品
Search
文档中心

Function Compute:Pemicu waktu

更新时间:Nov 11, 2025

Pemicu waktu menjalankan fungsi secara otomatis pada waktu atau interval tertentu, menyediakan penjadwalan tugas yang fleksibel untuk skenario yang memerlukan eksekusi periodik.

Skenario

Pemicu waktu dapat digunakan dalam berbagai skenario. Skema penggunaan umum meliputi hal-hal berikut:

  • Pemrosesan batch data secara rutin, seperti mengumpulkan data lengkap dan menghasilkan laporan setiap jam.

  • Menjadwalkan aksi harian, seperti mengirim kupon di awal setiap jam.

  • Menjalankan tugas asinkron yang terpisah dari logika bisnis Anda, seperti membersihkan data setiap hari pukul 00.00.

Prasyarat

Pembuatan fungsi selesai

Langkah 1: Membuat pemicu waktu

  1. Masuk ke Konsol Function Compute. 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, klik tab Triggers, lalu klik Create Trigger.

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

    Parameter

    Prosedur

    Contoh

    Trigger Type

    Pilih Time Trigger.

    Time Trigger

    Name

    Masukkan nama kustom untuk pemicu tersebut.

    my_trigger

    Version Or Alias

    Nilai default adalah LATEST. Jika ingin membuat pemicu untuk versi atau alias yang berbeda, alihkan terlebih dahulu ke versi atau alias tersebut di pojok kanan atas halaman detail fungsi. Untuk informasi selengkapnya tentang versi dan alias, lihat Manage versions dan Manage aliases.

    LATEST

    Trigger Method

    Pilih metode pemicu sesuai kebutuhan:

    • Interval: Di kotak teks Interval, masukkan bilangan bulat positif n. Fungsi kemudian akan dipicu setiap n menit.

    • Specified Time: Pilih zona waktu dan tentukan tanggal, hari dalam seminggu, serta waktu. Fungsi kemudian akan dipicu pada waktu yang ditentukan dalam zona waktu tersebut.

    • Custom: Di kotak teks CRON Expression, masukkan ekspresi cron. Fungsi kemudian akan dipicu pada waktu yang ditentukan oleh ekspresi cron tersebut.

    Interval

    Trigger Message

    Masukkan pesan kustom. Pesan pemicu digunakan sebagai nilai payload dalam event.

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

    awesome-fc

    Jika Anda memiliki persyaratan zona waktu tertentu dan perlu menggunakan CRON Expression kustom, lihat deskripsi ekspresi waktu berikut.

    • Ekspresi cron (UTC)

      Secara default, ekspresi cron didasarkan pada Coordinated Universal Time (UTC). UTC tertinggal 8 jam dari zona waktu UTC+8. Misalnya, untuk menjadwalkan fungsi agar berjalan setiap hari pukul 12.00 (UTC+8), Anda harus mengonversi waktu tersebut menjadi pukul 04.00 (UTC). Ekspresi cron yang sesuai adalah 0 0 4 * * *.

    • Ekspresi cron (UTC+8)

      Jika tugas Anda perlu berjalan di zona waktu tertentu, Anda dapat menentukannya menggunakan CRON_TZ. Misalnya, untuk memicu fungsi pada pukul 04.00 di hari pertama setiap bulan dalam zona waktu UTC+8, gunakan ekspresi 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), fungsi mungkin dipicu dua kali atau dilewati selama masa transisi. Untuk menghindarinya, jangan menjadwalkan tugas selama periode perubahan DST.

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

Langkah 2: Mengonfigurasi parameter input fungsi

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

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

    Pemicu waktu memanggil fungsi dengan event yang menggunakan format berikut.

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

    Parameter

    Tipe

    Contoh

    Deskripsi

    triggerTime

    String

    2023-12-26T07:49:00Z

    Waktu saat fungsi dipicu.

    triggerName

    String

    timer-trigger

    Nama pemicu waktu.

    payload

    String

    awesome-fc

    Pesan kustom yang Anda masukkan untuk parameter Trigger Message dalam konfigurasi pemicu.

Langkah 3: Menulis dan menguji kode fungsi

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

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

    Topik ini menggunakan Python sebagai contoh. Kode contoh berikut disediakan sebagai referensi.

    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, Anda dapat melihat hasilnya di atas tab Code.

Referensi

Jika pemicu waktu yang Anda konfigurasi gagal memicu fungsi terkait, periksa mode dan waktu pemicu. Jika Anda mengatur Trigger Mode ke Custom Settings, perhatikan bahwa ekspresi cron yang Anda tentukan di CRON Expression menggunakan UTC. Untuk informasi selengkapnya, lihat What do I do if a trigger cannot trigger function execution?.