Menjadwalkan dan menjalankan alur kerja berulang dengan pemicu Pengulangan di Azure Logic Apps

Berlaku untuk: Azure Logic Apps (Konsumsi + Standar)

Untuk memulai dan menjalankan alur kerja sesuai jadwal, Anda dapat menggunakan pemicu Pengulangan generik sebagai langkah pertama. Anda dapat mengatur tanggal, waktu, dan zona waktu untuk memulai alur kerja dan pengulangan untuk mengulangi alur kerja tersebut. Daftar berikut ini mencakup beberapa pola yang didukung pemicu ini bersama dengan pengulangan yang lebih canggih dan jadwal yang kompleks:

  • Jalankan pada tanggal dan waktu tertentu, lalu ulangi setiap n jumlah detik, menit, jam, hari, minggu, atau bulan.

  • Jalankan segera dan ulangi setiap n jumlah detik, menit, jam, hari, minggu, atau bulan.

  • Jalankan segera dan ulangi setiap hari pada satu atau beberapa waktu tertentu, seperti pukul 08.00 dan 17.00.

  • Jalankan segera dan ulangi setiap minggu pada hari-hari tertentu, seperti Sabtu dan Minggu.

  • Jalankan segera dan ulangi setiap minggu pada hari dan waktu tertentu, seperti Senin hingga Jumat pukul 08.00 dan 17.00.

Catatan

Untuk memulai dan menjalankan alur kerja Anda hanya sekali di masa mendatang, gunakan templat alur kerja bernama Scheduler: Run Once Jobs. Templat ini menggunakan pemicu Permintaan dan tindakan HTTP, bukan pemicu Pengulangan, yang tidak mendukung pola pengulangan ini. Untuk informasi selengkapnya, lihat Menjalankan pekerjaan satu kali saja.

Pemicu Pengulangan tidak terkait dengan layanan tertentu, sehingga Anda dapat menggunakan pemicu dengan hampir semua alur kerja, seperti alur kerja aplikasi logika Konsumsi dan alur kerja stateful aplikasi logika Standar. Pemicu ini saat ini tidak tersedia untuk alur kerja stateless aplikasi logika Standar.

Pemicu Pengulangan adalah bagian dari konektor Jadwal bawaan dan berjalan secara asli pada runtime Azure Logic Apps. Untuk informasi selengkapnya tentang pemicu dan tindakan Jadwal bawaan, lihat Jadwalkan dan jalankan alur kerja otomatis, tugas, dan alur kerja berulang dengan Azure Logic Apps.

Prasyarat

  • Akun dan langganan Azure. Jika Anda tidak memiliki langganan, daftar untuk mendapatkan akun Azure secara gratis.

  • Sumber daya aplikasi logika Konsumsi atau Standar dengan alur kerja kosong.

    Catatan

    Jika Anda membuat alur kerja aplikasi logika Standar, pastikan untuk membuat alur kerja yang stateful . Pemicu Pengulangan saat ini tidak tersedia untuk alur kerja tanpa status.

Tambah pemicu Pengulangan

Berdasarkan apakah alur kerja Anda adalah Konsumsi atau Standar, ikuti langkah-langkah yang sesuai:

  1. Di portal Azure, buka sumber daya aplikasi logika dan alur kerja kosong Anda.

  2. Ikuti langkah-langkah umum ini untuk menambahkan pemicu bawaan Jadwal bernama Pengulangan.

  3. Set interval dan frekuensi pengulangan. Dalam contoh ini, atur properti ini untuk menjalankan alur kerja Anda setiap minggu, misalnya:

    Screenshot for Consumption workflow designer with Recurrence trigger interval and frequency.

    Properti Nama JSON Wajib Tipe Deskripsi
    Interval interval Ya Bilangan bulat Bilangan bulat positif yang menjelaskan seberapa sering alur kerja berjalan berdasarkan frekuensi. Berikut adalah interval minimum dan maksimum:

    - Bulan: 1-16 bulan
    - Minggu: 1-71 minggu
    - Hari: 1-500 hari
    - Jam: 1-12.000 jam
    - Menit: 1-72.000 menit
    - Detik: 1-9.999.999 detik

    Misalnya, jika intervalnya adalah 6, dan frekuensinya adalah "Bulan", maka pengulangannya adalah setiap 6 bulan.
    Frekuensi frequency Ya String Satuan waktu untuk pengulangan:Kedua, Menit, Jam,Hari,Minggu,atau Bulan

    Penting: Jika Anda memilih frekuensi Hari, Minggu, atau Bulan , dan Anda menentukan tanggal dan waktu mulai di masa mendatang, pastikan Anda menyiapkan pengulangan terlebih dahulu. Jika tidak, alur kerja mungkin melewati pengulangan pertama.

    - Hari: Atur pengulangan harian setidaknya 24 jam sebelumnya.

    - Minggu: Atur pengulangan mingguan setidaknya 7 hari sebelumnya.

    - Bulan: Menyiapkan pengulangan bulanan paling tidak satu bulan sebelumnya.
  4. Tinjau pertimbangan berikut saat Anda menggunakan pemicu Pengulangan :

    • Jika Anda tidak menentukan tanggal dan waktu mulai tertentu, pengulangan pertama akan segera berjalan saat Anda menyimpan alur kerja atau menyebarkan sumber daya aplikasi logika, meskipun penyiapan pengulangan pemicu Anda. Untuk menghindari perilaku ini, tetapkan waktu dan tanggal mulai saat Anda ingin pengulangan pertama dijalankan.

    • Jika Anda tidak menentukan opsi penjadwalan tingkat lanjut lainnya, seperti waktu tertentu untuk menjalankan pengulangan di masa mendatang, pengulangan tersebut didasarkan pada run time terakhir. Akibatnya, waktu mulai untuk pengulangan tersebut mungkin menyimpang karena beberapa faktor seperti latensi selama panggilan penyimpanan.

    • Untuk memastikan bahwa alur kerja Anda tidak melewatkan pengulangan, terutama ketika frekuensi dalam hari atau lebih, coba opsi berikut:

      • Berikan tanggal dan waktu mulai untuk pengulangan dan waktu tertentu untuk menjalankan pengulangan berikutnya. Anda dapat menggunakan properti bernama Pada jam-jam ini dan Pada menit-menit ini, yang hanya tersedia untuk frekuensi Hari dan Minggu .

      • Untuk alur kerja aplikasi logika Konsumsi, gunakan pemicu Jendela Geser, bukan pemicu Pengulangan.

    • Jika Anda menyebarkan alur kerja Konsumsi yang dinonaktifkan yang memiliki pemicu Pengulangan menggunakan templat ARM, pemicu langsung diaktifkan saat Anda mengaktifkan alur kerja kecuali Anda mengatur parameter Waktu mulai sebelum penyebaran.

  5. Untuk mengatur opsi penjadwalan tingkat lanjut, buka daftar Tambahkan parameter baru. Opsi apa pun yang Anda pilih muncul pada pemicu setelah pilihan.

    Properti Nama JSON Wajib Tipe Deskripsi
    Zona waktu timeZone Tidak String Hanya berlaku saat Anda menentukan waktu mulai karena pemicu ini tidak menerima offset UTC. Pilih zona waktu yang ingin Anda terapkan.
    Waktu mulai startTime Tidak String Berikan tanggal dan waktu mulai, yang memiliki maksimum 49 tahun di masa mendatang dan harus mengikuti spesifikasi waktu tanggal ISO 8601 dalam format waktu tanggal UTC, tetapi tanpa offset UTC:

    YYYY-MM-DDThh:mm:ss jika Anda memilih zona waktu

    -Atau-

    YYYY-MM-DDThh:mm:ssZ jika Anda tidak memilih zona waktu

    Jadi misalnya, jika Anda ingin 18 September 2020 pukul 14.00, maka tentukan "2020-09-18T14:00:00" dan pilih zona waktu seperti Waktu Standar Pasifik. Atau, tentukan "2020-09-18T14:00:00Z" tanpa zona waktu.

    Penting: Jika Anda tidak memilih zona waktu, Anda harus menambahkan huruf "Z" di akhir tanpa spasi. "Z" ini mengacu pada waktu bahariyang ekuivalen. Jika Anda memilih nilai zona waktu, Anda tidak perlu menambahkan "Z" ke akhir nilai Waktu mulai Anda. Jika Ya, Logic Apps mengabaikan nilai zona waktu karena "Z" menandakan format waktu UTC.

    Untuk jadwal sederhana, waktu mulai adalah kejadian pertama, sedangkan untuk jadwal kompleks, pemicu tidak aktif lebih cepat dari waktu mulai. Apa saja cara saya agar dapat menggunakan tanggal dan waktu mulai?
    Pada hari-hari ini weekDays Tidak String atau array string Jika Anda memilih "Minggu", Anda dapat memilih satu atau beberapa hari saat Anda ingin menjalankan alur kerja: Senin, Selasa, Rabu, Kamis , Jumat, Sabtu, dan Minggu
    Pada jam-jam ini hours Tidak Bilangan bulat atau array bilangan bulat Jika Anda memilih "Hari" atau "Minggu", Anda dapat memilih satu atau beberapa bilangan bulat dari 0 hingga 23 sebagai jam dalam sehari ketika Anda ingin menjalankan alur kerja. Misalnya, jika Anda menentukan "10", "12" dan "14", Anda mendapatkan pukul 10.00, 12.00, dan 14.00 untuk jam dalam sehari.

    Catatan: Secara default, menit dalam sehari dihitung berdasarkan kapan pengulangan dimulai. Untuk mengatur menit tertentu dalam sehari, misalnya, 10.00, 12.00, dan 14.00, tentukan nilai tersebut dengan menggunakan properti bernama Pada menit-menit ini.
    Pada menit-menit ini minutes Tidak Bilangan bulat atau array bilangan bulat Jika Anda memilih "Hari" atau "Minggu", Anda dapat memilih satu atau beberapa bilangan bulat dari 0 hingga 59 sebagai menit jam saat Anda ingin menjalankan alur kerja.

    Misalnya, Anda dapat menentukan "30" sebagai tanda menit dan menggunakan contoh sebelumnya selama berjam-jam dalam sehari, Anda mendapatkan 10.30, 12.30, dan 14.30.

    Catatan: Terkadang, tanda waktu untuk eksekusi yang dipicu mungkin bervariasi hingga 1 menit dari waktu yang dijadwalkan. Jika Anda perlu meneruskan tanda waktu persis seperti yang dijadwalkan untuk tindakan berikutnya, Anda dapat menggunakan ekspresi templat untuk mengubah tanda waktu yang sesuai. Untuk informasi selengkapnya, lihat Fungsi tanggal dan waktu untuk ekspresi.

    Screenshot for Consumption workflow designer and Recurrence trigger with advanced scheduling options.

    Misalnya, katakanlah hari ini Jumat, 4 September 2020. Pemicu Pengulangan berikut tidak diaktifkan lebih cepat dari tanggal dan waktu mulai yang ditentukan, yaitu Jumat, 18 September 2020 pukul 08.00 Waktu Pasifik. Namun, jadwal pengulangan ditetapkan untuk pukul 10.30, 12.30, dan 14.30 pada hari Senin saja. Pertama kali pemicu diaktifkan dan membuat instans alur kerja adalah pada hari Senin pukul 10.30. Untuk mempelajari selengkapnya tentang cara kerja waktu mulai, lihat contoh waktu mulai ini.

    Eksekusi di masa mendatang terjadi pada pukul 12.30 dan 14.30 pada hari yang sama. Setiap pengulangan membuat contoh alur kerja mereka sendiri. Setelah itu, seluruh jadwal berulang kembali Senin depan. Apa saja contoh kejadian lainnya?

    Screenshot showing Consumption workflow and Recurrence trigger with advanced scheduling example.

    Catatan

    Pemicu memperlihatkan pratinjau untuk pengulangan yang ditentukan hanya saat Anda memilih Hari atau Minggu sebagai frekuensi.

  6. Sekarang lanjutkan membangun alur kerja Anda dengan tindakan lain.

Definisi alur kerja - Pengulangan

Anda dapat melihat bagaimana definisi pemicu Pengulangan muncul dengan opsi yang Anda pilih dengan meninjau definisi JSON yang mendasar untuk alur kerja Anda di aplikasi logika Konsumsi dan aplikasi logika Standar (hanya stateful).

Berdasarkan apakah aplikasi logika Anda adalah Konsumsi atau Standar, pilih salah satu opsi berikut:

  • Konsumsi: Pada toolbar perancang, pilih Tampilan kode. Untuk kembali ke perancang, pada toolbar editor tampilan kode, pilih Perancang.

  • Standar: Pada menu alur kerja, pilih Tampilan kode. Untuk kembali ke perancang, pada menu alur kerja, pilih Perancang.

Contoh berikut menunjukkan bagaimana definisi pemicu Pengulangan mungkin muncul dalam definisi JSON yang mendasar alur kerja:

"triggers": {
   "Recurrence": {
      "type": "Recurrence",
      "recurrence": {
         "frequency": "Week",
         "interval": 1,
         "schedule": {
            "hours": [
               10,
               12,
               14
            ],
            "minutes": [
               30
            ],
            "weekDays": [
               "Monday"
            ]
         },
         "startTime": "2020-09-07T14:00:00Z",
         "timeZone": "Pacific Standard Time"
      }
   }
}

Catatan

Dalam definisi pemicu Pengulangan, evaluatedRecurrence properti muncul bersama dengan recurrence properti saat referensi ekspresi atau parameter muncul dalam kriteria pengulangan. Properti ini evaluatedRecurrence mewakili nilai yang dievaluasi dari referensi ekspresi atau parameter. Jika kriteria pengulangan tidak menentukan ekspresi atau referensi parameter apa pun, evaluatedRecurrence properti dan recurrence sama.

Contoh berikut menunjukkan cara memperbarui definisi pemicu sehingga pemicu hanya dijalankan sekali pada hari terakhir setiap bulan:

"triggers": {
    "Recurrence": {
        "recurrence": {
            "frequency": "Month",
            "interval": 1,
            "schedule": {
                "monthDays": [-1]
            }
        },
        "type": "Recurrence"
    }
}

Pemicu pergeseran pengulangan dan penyimpangan (waktu musim panas)

Saat menjadwalkan pekerjaan, Azure Logic Apps menempatkan pesan untuk diproses ke dalam antrean dan menentukan kapan pesan tersebut tersedia, berdasarkan waktu UTC ketika pekerjaan terakhir berjalan dan waktu UTC ketika pekerjaan berikutnya dijadwalkan untuk dijalankan. Jika Anda menentukan waktu mulai dengan pengulangan, pastikan Anda memilih zona waktu sehingga alur kerja aplikasi logika Anda berjalan pada waktu mulai yang ditentukan. Dengan begitu, waktu UTC untuk aplikasi logika Anda juga bergeser untuk melawan perubahan waktu musiman. Pemicu berulang mengikuti jadwal yang Anda tetapkan, termasuk zona waktu apa pun yang Anda tentukan.

Jika tidak, jika Anda tidak memilih zona waktu, peristiwa daylight saving time (DST) dapat memengaruhi saat pemicu berjalan. Misalnya, waktu mulai berubah satu jam ke depan ketika DST dimulai dan mundur satu jam ketika DST berakhir. Namun, beberapa jendela waktu mungkin menyebabkan masalah ketika waktu bergeser. Untuk informasi dan contoh selengkapnya, lihat Pengulangan untuk waktu musim panas dan waktu standar.

Langkah berikutnya