全部产品
Search
文档中心

Function Compute:Pemicu waktu

更新时间:Jul 02, 2025

Pemicu waktu secara otomatis memicu fungsi pada titik waktu tertentu atau interval tertentu. Hal ini memungkinkan Anda menjadwalkan tugas secara fleksibel dalam skenario yang memerlukan eksekusi tugas berkala.

Skenario

Berikut adalah beberapa skenario penggunaan pemicu waktu:

  • Pemrosesan data batch secara teratur, seperti pengumpulan data lengkap dan pembuatan laporan setiap jam.

  • Penjadwalan perilaku harian, seperti mengirim kupon setiap jam tepat.

  • Penjadwalan tugas asinkron yang tidak saling bergantung, seperti penghapusan data pada pukul 00:00 setiap hari.

Sebelum Anda mulai

Langkah 1: Buat pemicu waktu

  1. Masuk ke Konsol Function Compute. Di panel navigasi sebelah kiri, klik Services & Functions.

  2. Di bilah navigasi atas, pilih wilayah. Pada halaman Services, temukan layanan yang ingin dikelola, lalu klik Functions di kolom Actions.

  3. Pada halaman Functions, klik fungsi yang ingin dikelola.

  4. Pada halaman detail fungsi, klik tab Triggers, pilih versi atau alias dari daftar drop-down Version or Alias, lalu klik Create Trigger.

  5. Di panel Buat Pemicu, konfigurasikan parameter yang diperlukan, lalu klik OK. Tabel berikut menjelaskan parameter tersebut.

    Parameter

    Deskripsi

    Contoh

    Jenis Pemicu

    Pilih Time Trigger.

    Pemicu Waktu

    Parameter

    Masukkan nama pemicu.

    pemicu-waktu

    Versi atau Alias

    Nilai default adalah LATEST. Jika Anda ingin membuat pemicu untuk versi atau alias lain, pilih versi atau alias di pojok kanan atas halaman detail fungsi. Untuk informasi lebih lanjut tentang versi dan alias, lihat Kelola versi dan Kelola alias.

    TERBARU

    Mode Pemicu

    Pilih mode pemicu. Opsi:

    • Interval: Masukkan bilangan bulat positif n di bidang Interval. Fungsi dipicu setiap n menit.

    • Select Custom Time: Pilih zona waktu dan tentukan tanggal, hari dalam seminggu, dan waktu. Fungsi dipicu pada waktu yang ditentukan.

    • Custom Settings: Tentukan ekspresi cron di bidang CRON Expression. Fungsi dipicu pada waktu yang ditentukan oleh ekspresi cron.

    Interval

    Pesan Pemicu

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

    awesome-fc

    Anda dapat mengonfigurasi parameter Cron Expression untuk menetapkan zona waktu. Berikut adalah penjelasan tentang ekspresi cron:

    • Ekspresi Cron (Waktu UTC)

      Secara default, ekspresi cron menggunakan Waktu Universal Terkoordinasi (UTC). Sebagai contoh, jika Anda ingin fungsi dijalankan pada pukul 12:00 (UTC+8) setiap hari, gunakan ekspresi 0 0 4 * * *.

    • Ekspresi Cron (UTC+8)

      Jika Anda ingin fungsi dijalankan pada titik waktu tertentu di zona waktu tertentu, gunakan CRON_TZ. Contohnya, jika Anda ingin fungsi dipanggil pada pukul 04:00 (UTC+8) setiap hari pertama bulan, gunakan ekspresi CRON_TZ=Asia/Shanghai 0 0 4 1 * *. Ekspresi zona waktu bervariasi menurut wilayah.

      Catatan

      Jika daylight saving time (DST) dan winter time digunakan di zona waktu Anda, fungsi akan dieksekusi lebih sering atau kurang sering ketika waktu berubah antara DST dan winter time. Kami sarankan Anda tidak menetapkan waktu eksekusi pada saat perubahan antara DST dan winter time terjadi.

Setelah pemicu dibuat, pemicu tersebut akan ditampilkan di tab Triggers. Untuk memodifikasi atau menghapus pemicu yang ada, lihat Kelola Pemicu.

Langkah 2: Konfigurasikan parameter input fungsi

  1. Pada halaman detail fungsi, klik tab Code, klik ikon xialatubiao di sebelah Test Function, lalu pilih Configure Test Parameters dari daftar drop-down.

  2. Di panel Configure Test Parameters, klik tab Create New Test Event atau Modify Existing Test Event, tentukan Event Name dan isi 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

    Contoh

    Deskripsi

    triggerTime

    String

    2023-12-26T07:49:00Z

    Waktu ketika fungsi dipicu.

    triggerName

    String

    timer-trigger

    Nama pemicu waktu.

    payload

    String

    awesome-fc

    Nilai Trigger Message yang Anda masukkan saat membuat pemicu.

Langkah 3: Tulis dan uji fungsi

Setelah membuat pemicu waktu, Anda dapat menulis kode fungsi dan menguji fungsi untuk memverifikasi apakah kode tersebut benar. Ketika waktu yang ditentukan tiba, pemicu waktu secara otomatis memicu fungsi.

  1. Pada halaman detail fungsi, klik tab Code, masukkan kode fungsi di editor kode, lalu klik Deploy.

    Kode Python digunakan sebagai contoh dalam topik ini.

    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 tab Code dan klik Test Function.

    Setelah fungsi dieksekusi, Anda dapat melihat hasilnya di tab Code.

Referensi

  • Jika pemicu waktu yang dikonfigurasi gagal memicu fungsi terkait, periksa mode pemicu dan waktu pemicu. Jika Mode Pemicu diatur ke Pengaturan Kustom, perhatikan bahwa waktu UTC digunakan secara default oleh bidang CRON Expression. Untuk informasi lebih lanjut tentang cara menyelesaikan kegagalan eksekusi, lihat item "Pemicu Waktu" dalam Solusi 2: Periksa Apakah Aturan Pemicuan Terpenuhi.

  • Jika Anda telah membuat pemicu HTTP untuk suatu fungsi, Anda tidak dapat lagi membuat pemicu jenis lain untuk fungsi tersebut. Namun, Anda dapat membuat fungsi event lain, mengonfigurasi pemicu yang sesuai, dan mengonfigurasi akses ke fungsi HTTP di kode Anda. Untuk informasi lebih lanjut, lihat Gunakan SDK untuk Menjalankan Fungsi HTTP.

  • Jika Anda menggunakan pemicu waktu, durasi eksekusi dihitung berdasarkan apakah instance fungsi bekerja dalam mode on-demand atau provisioned. Untuk informasi lebih lanjut tentang perhitungan durasi eksekusi, lihat Konsep.