All Products
Search
Document Center

CloudFlow:Buat jadwal berbasis waktu

Last Updated:Jul 02, 2025

Serverless Workflow memungkinkan Anda menjadwalkan eksekusi alur kerja dengan mengonfigurasi ekspresi cron. Topik ini menjelaskan cara membuat jadwal berbasis waktu untuk Serverless Workflow.

Prasyarat

Sebuah alur kerja telah dibuat. Untuk informasi lebih lanjut, lihat Buat alur.

Buat jadwal berbasis waktu di konsol Serverless Workflow

  1. Masuk ke konsol Serverless Workflow.

  2. Di halaman Flows, temukan alur kerja yang ingin Anda buat jadwal berbasis waktunya dan klik nama alur kerja di kolom Name.

    workflow-name

  3. Di halaman Details, klik tab Schedule. Di bagian Schedule Management, klik Create Schedule.

    image

  4. Di panel Create Schedule, konfigurasikan parameter dan klik OK. Tabel berikut menjelaskan parameter yang perlu dikonfigurasi.

    Parameter

    Deskripsi

    Contoh

    Nama jadwal berbasis waktu.

    Masukkan nama untuk jadwal berbasis waktu kustom.

    schedule-test

    Ekspresi

    Pilih mode untuk mengonfigurasi waktu penjadwalan dan tentukan aturan waktu.

    Nilai valid:

    • Cron Expression: Gunakan ekspresi cron standar untuk mengonfigurasi waktu penjadwalan. Untuk informasi lebih lanjut, lihat Parameter untuk jadwal berbasis waktu.

    • Time Interval: Gunakan ekspresi @every untuk mengonfigurasi waktu penjadwalan.

      Tentukan interval di mana alur kerja dijadwalkan. Unit: menit.

    Pilih Time Interval dan atur interval waktu menjadi 1, yang menunjukkan bahwa alur kerja dijadwalkan setiap menit. ························

    Payload

    Masukkan parameter kustom dalam format objek JSON.

    {"key": "value"}

    Deskripsi

    Masukkan deskripsi untuk jadwal berbasis waktu.

    test schedule

    Aktifkan Jadwal

    Aktifkan atau nonaktifkan jadwal berbasis waktu.

    Nyalakan Enable Schedule.

    • Setelah membuat jadwal berbasis waktu, Anda dapat melihatnya di tab Schedule dari alur kerja.create-result

    • Selain itu, Anda dapat melihat catatan eksekusi terjadwal dari alur kerja di tab Executions dari alur kerja. Dalam contoh ini, alur kerja dieksekusi setiap menit.execution-result

Buat jadwal berbasis waktu menggunakan Alibaba Cloud CLI

Anda harus menginstal dan mengonfigurasi Alibaba Cloud CLI sebelum menggunakannya. Untuk informasi lebih lanjut, lihat Apa itu Alibaba Cloud CLI?

  1. Opsional: Jalankan perintah berikut untuk melihat parameter permintaan operasi API dalam pembuatan jadwal berbasis waktu:

    aliyun fnf CreateSchedule help

    Keluaran yang diharapkan:

    Alibaba Cloud Command Line Interface Version 3.0.45
    
    Product: fnf (FunctionFlow)
    Link:    https://xxxxxxxx.html
    
    Parameters:
      --CronExpression String  Required
      --FlowName       String  Required
      --ScheduleName   String  Required
      --Description    String  Optional
      --Enable         Boolean Optional
      --Payload        String  Optional
      --RequestId      String  Optional
  2. Jalankan perintah berikut untuk membuat jadwal berbasis waktu:

    aliyun fnf CreateSchedule --FlowName test --ScheduleName "schedule-test" --CronExpression "@every 1m" --Payload "{\"key\":\"value\"}" --Description "test schedule" --Enable true

    Keluaran yang diharapkan:

    {
            "CreatedTime": "2024-06-26T03:36:57Z",
            "CronExpression": "@every 1m",
            "Description": "test schedule",
            "Enable": true,
            "LastModifiedTime": "2024-06-26T03:36:57Z",
            "Payload": "{\"key\":\"value\"}",
            "RequestId": "c7034d83-d1ba-648c-f05c-156439a857d7",
            "ScheduleId": "b888a48f-229d-4b35-adc6-5c63a37cf3b1",
            "ScheduleName": "schedule-test"
    }

Parameter untuk jadwal berbasis waktu

Parameter jadwal berbasis waktu memiliki format berikut:

{
    payload: "payload"
    cronExpression: "cronExpression"
    enable: true|false
}
  • payload: Menentukan input kustom jadwal berbasis waktu dalam format objek JSON.

  • cronExpression: Menentukan waktu ketika alur kerja dijadwalkan. Waktu penjadwalan dapat dinyatakan dalam salah satu bentuk berikut:

    Catatan

    Interval penjadwalan minimum adalah 1 menit. Jika interval yang ditentukan lebih pendek dari 1 menit, maka tidak valid.

    • @every Value Unit

      Alur kerja dijadwalkan pada interval yang ditentukan oleh Value Unit. Dalam ekspresi tersebut, Value adalah bilangan bulat positif dan Unit adalah m.

      Contoh

      Ekspresi

      Dijadwalkan setiap 5 menit

      @every 5m

      Dijadwalkan setiap 1,5 jam

      @every 90m

    • Ekspresi waktu

      • Ekspresi cron

        Ekspresi cron menggunakan Waktu Universal Terkoordinasi (UTC). Ekspresi cron standar berada dalam format berikut: Seconds Minutes Hours Day-of-month Month Day-of-week.

      • Ekspresi zona waktu

        Jika Anda ingin menjadwalkan alur kerja berdasarkan zona waktu tertentu, Anda dapat menggunakan ekspresi CRON_TZ. Sebagai contoh, jika Anda ingin memicu alur kerja pada pukul empat pagi hari pertama setiap bulan (UTC+8), Anda dapat mengatur CRON-TZ ke Asia/Shanghai 0 0 4 1 * *.

        Catatan

        Jika daylight saving time (DST) dan waktu musim dingin digunakan di zona waktu Anda, fungsi akan dieksekusi lebih sering atau lebih jarang ketika waktu berubah antara DST dan waktu musim dingin. Kami merekomendasikan agar Anda tidak mengatur waktu eksekusi pada titik waktu ketika terjadi perubahan antara DST dan waktu musim dingin.

      Tabel berikut menjelaskan contoh umum ekspresi waktu. Sebagai contoh, jika Anda ingin alur kerja dijadwalkan pada pukul 12:00 (UTC+8), ekspresi cron adalah 0 0 4 * * * dan ekspresi zona waktu adalah CRON_TZ=Asia/Shanghai 0 0 12 * * *.

      Contoh

      Ekspresi cron

      Ekspresi zona waktu

      Jadwalkan alur kerja pada pukul 12:00 setiap hari.

      0 0 4 * * *

      CRON_TZ=Asia/Shanghai 0 0 12 * * *

      Jadwalkan alur kerja pada pukul 12:30 setiap hari.

      0 30 4 * * *

      CRON_TZ=Asia/Shanghai 0 30 12 * * *

      Jadwalkan fungsi pada menit ke-26, ke-29, dan ke-33 di setiap jam.

      0 26,29,33 * * * *

      CRON_TZ=Asia/Shanghai 0 26,29,33 * * * *

      Jadwalkan alur kerja pada pukul 12:30 setiap hari dari Senin hingga Jumat.

      0 30 4 ? * MON-FRI

      CRON_TZ=Asia/Shanghai 0 30 12 ? * MON-FRI

      Jadwalkan alur kerja setiap 5 menit dari pukul 12:00 hingga 14:00 setiap hari dari Senin hingga Jumat.

      0 0/5 4-6 ? * MON-FRI

      CRON_TZ=Asia/Shanghai 0 0/5 12-14 ? * MON-FRI

      Jadwalkan alur kerja pada pukul 12:00 setiap hari dari Januari hingga April.

      0 0 4 ? JAN,FEB,MAR,APR *

      CRON_TZ=Asia/Shanghai 0 0 12 ? JAN,FEB,MAR,APR *

      • Deskripsi bidang

        Bidang

        Nilai valid

        Karakter khusus yang diizinkan

        Detik

        0 hingga 59

        Tidak ada

        Menit

        0 hingga 59

        , - * /

        Jam

        0 hingga 23

        , - * /

        Hari-bulan

        1 hingga 31

        , - * ? /

        Bulan

        1 hingga 12 atau JAN hingga DEC

        , - * /

        Hari-minggu

        1 hingga 7 atau MON hingga SUN

        , - * ?

      • Karakter khusus

        Karakter

        Deskripsi

        Contoh

        *

        Menunjukkan apa saja atau setiap.

        Di bidang Menit, 0 menentukan bahwa alur kerja dieksekusi pada detik ke-0 setiap menit.

        ,

        Menunjukkan daftar nilai.

        Di bidang Hari-minggu, MON menunjukkan Senin, WED menunjukkan Rabu, dan FRI menunjukkan Jumat.

        -

        Menunjukkan rentang.

        Di bidang Jam, 10-12 menentukan rentang waktu dari pukul 10:00 hingga 12:00 dalam UTC.

        ?

        Menunjukkan nilai yang tidak pasti.

        Karakter ini digunakan bersama dengan nilai lain yang ditentukan. Sebagai contoh, jika Anda menentukan tanggal tertentu tetapi tidak peduli hari apa dalam seminggu, Anda dapat menggunakan karakter khusus ini di bidang Hari-minggu.

        /

        Menentukan penambahan. n/m menunjukkan penambahan m dimulai dari posisi n.

        Di bidang menit, 3/5 menunjukkan bahwa alur kerja dieksekusi setiap 5 menit mulai dari menit ke-3.

Format masukan

Jadwal berbasis waktu akan dilakukan untuk menjadwalkan alur kerja Anda berdasarkan format masukan berikut:

{
  "triggerTime": "2020-01-01T00:00:00Z",
  "triggerName": "time-trigger",
  "payload": {
    "key": "value", 
    "key_int": 1
  }
}
  • triggerTime: Menentukan waktu ketika alur kerja dijadwalkan. Alur kerja mungkin dijadwalkan beberapa kali pada waktu tertentu. Anda dapat menghapus duplikat penjadwalan berdasarkan waktu.

  • triggerName: Menentukan nama jadwal berbasis waktu.

  • payload: Anda dapat menentukan masukan dalam konfigurasi penjadwalan. Alur kerja memperluas string JSON masukan ke format dict JSON. Anda dapat membacanya dalam definisi alur kerja dengan menggunakan $.payload.Key. Untuk informasi lebih lanjut, lihat Masukan dan keluaran.