Tutorial: Membuat WebJob Terjadwal

WebJobs adalah fitur Azure App Service yang memungkinkan Anda menjalankan program atau skrip dalam instans yang sama dengan aplikasi web. Semua paket App Service mendukung WebJobs tanpa biaya tambahan. Tutorial ini memandu Anda membuat WebJob terjadwal (dipicu) menggunakan tumpukan pengembangan pilihan Anda.

Prasyarat

  • Sebuah akun Azure dengan langganan aktif. Buat akun secara gratis.
  • Aplikasi App Service .NET 9 yang sudah ada.
  • Selalu aktif harus diaktifkan di aplikasi Anda.
  • Untuk kontainer Windows dan semua aplikasi Linux, pastikan pengaturan WEBSITE_SKIP_RUNNING_KUDUAGENT aplikasi diatur ke false.

Siapkan WebJob secara lokal

  1. Pada langkah ini, Anda membuat proyek .NET WebJob dasar dan menavigasi ke akar proyek.

    dotnet new console -n webjob –framework net9.0
    
    cd webjob
    
  2. Selanjutnya, ganti Program.cs ke kode berikut yang menulis waktu saat ini ke konsol:

    using System; 
    
    class Program 
    { 
        static void Main() 
        { 
            DateTimeOffset now = DateTimeOffset.Now; 
            Console.WriteLine("Current time with is: " + now.ToString("hh:mm:ss tt zzz")); 
        } 
    }
    
  3. Dari direktori webjob, jalankan webjob untuk menampilkan waktu saat ini di konsol.

    dotnet run
    

    Anda akan melihat output yang mirip dengan hal berikut:

    Current time with is: 07:53:07 PM -05:00
    
  4. Setelah Anda mengonfirmasi bahwa aplikasi berfungsi, buat dan navigasikan ke direktori induk:

    dotnet publish -c Release -r win-x64 --self-contained true /p:PublishSingleFile=true
    
  5. (Hanya Linux) Di akar proyek, buat run.sh dengan kode berikut untuk menjalankan executable bawaan:

    #!/bin/bash
    
    ./webjob
    
  6. Sekarang kemas file ke dalam .zip seperti yang ditunjukkan dalam perintah berikut:

    zip -j webjob.zip bin/Release/net9.0/win-x64/publish/webjob.exe
    

Membuat WebJob terjadwal di Azure

  1. Di portal Microsoft Azure, buka halaman App Service aplikasi App Service Anda.

  2. Dari panel kiri, pilih WebJobs, lalu pilih Tambahkan.

    Cuplikan layar yang memperlihatkan cara menambahkan WebJob di aplikasi App Service di portal (WebJob terjadwal).

  3. Isi pengaturan Tambahkan WebJob seperti yang ditentukan dalam tabel, lalu pilih Buat Webjob. Untuk Unggah File, pastikan untuk memilih file .zip yang Anda buat atau unduh sebelumnya.

    Cuplikan layar yang memperlihatkan cara mengonfigurasi WebJob terjadwal di aplikasi App Service.

    Pengaturan nilai Deskripsi
    Nama pekerjaan web Nama WebJob. Harus dimulai dengan huruf atau angka dan tidak boleh berisi karakter khusus selain "-" dan "_".
    Unggahan File webjob.zip File .zip yang berisi file yang dapat dieksekusi atau skrip Anda. Jenis file yang didukung tercantum di bagian jenis file yang didukung .
    Tipe Tersulut Menentukan kapan WebJob berjalan: Berkelanjutan atau Dipicu.
    Pemicu Dijadwalkan Terjadwal atau Manual. Pastikan Selalu aktif diaktifkan agar jadwal berfungsi dengan andal.
    Ekspresi CRON 0 0/1 * * * * Untuk memulai cepat ini, kami menggunakan jadwal yang berjalan setiap menit. Lihat ekspresi CRON untuk mempelajari lebih lanjut tentang sintaks.
  4. WebJob yang baru muncul di halaman WebJobs. Jika Anda melihat pesan yang mengatakan bahwa WebJob ditambahkan, tetapi Anda tidak dapat menemukannya, pilih Refresh.

  5. WebJob terjadwal dijalankan pada jadwal yang ditentukan oleh ekspresi CRON.

    Cuplikan layar yang memperlihatkan cara menjalankan WebJob yang dijadwalkan secara manual di portal Azure.

WebJobs adalah fitur Azure App Service yang memungkinkan Anda menjalankan program atau skrip dalam instans yang sama dengan aplikasi web. Semua paket layanan aplikasi mendukung WebJobs tanpa biaya tambahan. Sampel ini menggunakan WebJob terjadwal (Dipicu) untuk mengeluarkan waktu sistem setiap menit sekali.

Prasyarat

Menyiapkan sampel WebJob

  1. Unduh proyek sampel bawaan untuk memulai dengan cepat. Sampel mencakup file webjob.py, yang menghasilkan waktu saat ini ke konsol seperti yang ditunjukkan di bawah ini:

    import datetime 
    
    current_datetime = datetime.datetime.now() 
    print(current_datetime) # Output: 2025-03-27 10:27:21.240752
    
  2. Ekstrak file zip yang diunduh, lalu buat file zip baru yang hanya berisi file webjob.py tersebut (tanpa menyertakan direktori induk). WebJobs mengharuskan executable atau skrip berada di akar file zip.

Membuat WebJob terjadwal

  1. Di portal Microsoft Azure, buka halaman App Service aplikasi App Service Anda.

  2. Dari panel kiri, pilih WebJobs, lalu pilih Tambahkan.

    Cuplikan layar yang memperlihatkan cara menambahkan WebJob di aplikasi App Service di portal (WebJob terjadwal).

  3. Isi pengaturan Tambahkan WebJob seperti yang ditentukan dalam tabel, lalu pilih Buat Webjob. Untuk Unggahan File, pastikan untuk memilih file .zip yang Anda buat sebelumnya di bagian Siapkan sampel WebJob .

    Cuplikan layar yang memperlihatkan cara mengonfigurasi WebJob terjadwal di aplikasi App Service.

    Pengaturan nilai Description
    Nama pekerjaan web Nama WebJob. Harus dimulai dengan huruf atau angka dan tidak boleh berisi karakter khusus selain "-" dan "_".
    Unggahan File webjob.zip File .zip yang berisi webjob.py di tingkat akar. Jenis file yang didukung tercantum di bagian jenis file yang didukung .
    Tipe Tersulut Menentukan kapan WebJob berjalan: Berkelanjutan atau Dipicu.
    Pemicu Dijadwalkan Terjadwal atau Manual. Pastikan Selalu aktif diaktifkan agar jadwal berfungsi dengan andal.
    Ekspresi CRON 0 0/1 * * * * Untuk memulai cepat ini, kami menggunakan jadwal yang berjalan setiap menit. Lihat ekspresi CRON untuk mempelajari lebih lanjut tentang sintaks.
  4. WebJob yang baru muncul di halaman WebJobs. Jika Anda melihat pesan yang mengatakan bahwa WebJob ditambahkan, tetapi Anda tidak dapat menemukannya, pilih Refresh.

  5. WebJob terjadwal dijalankan pada jadwal yang ditentukan oleh ekspresi CRON.

    Cuplikan layar yang memperlihatkan cara menjalankan WebJob yang dijadwalkan secara manual di portal Azure.

WebJobs adalah fitur Azure App Service yang memungkinkan Anda menjalankan program atau skrip dalam instans yang sama dengan aplikasi web. Semua paket layanan aplikasi mendukung WebJobs tanpa biaya tambahan. Sampel ini menggunakan WebJob terjadwal (Dipicu) untuk mengeluarkan waktu sistem setiap menit sekali.

Prasyarat

Menyiapkan sampel WebJob

  1. Unduh proyek sampel bawaan untuk memulai dengan cepat. Sampel mencakup file webjob.jsJavaScript , yang menghasilkan waktu saat ini ke konsol seperti yang ditunjukkan di bawah ini:

    // Import the 'Date' object from JavaScript
    const currentTime = new Date();
    
    // Format the time as a string
    const formattedTime = currentTime.toLocaleTimeString();
    
    // Output the formatted time to the console
    console.log(`Current system time is: ${formattedTime}`);
    
  2. Ekstrak file zip yang diunduh, lalu buat file zip baru yang hanya berisi file webjob.js (tanpa direktori induk). WebJobs mengharuskan executable atau skrip berada di akar file zip.

Membuat WebJob terjadwal

  1. Di portal Microsoft Azure, buka halaman App Service aplikasi App Service Anda.

  2. Dari panel kiri, pilih WebJobs, lalu pilih Tambahkan.

    Cuplikan layar yang memperlihatkan cara menambahkan WebJob di aplikasi App Service di portal (WebJob terjadwal).

  3. Isi pengaturan Tambahkan WebJob seperti yang ditentukan dalam tabel, lalu pilih Buat Webjob. Untuk Unggahan File, pastikan untuk memilih file .zip yang Anda buat sebelumnya di bagian Siapkan sampel WebJob .

    Cuplikan layar yang memperlihatkan cara mengonfigurasi WebJob terjadwal di aplikasi App Service.

    Pengaturan nilai Description
    Nama pekerjaan web Nama WebJob. Harus dimulai dengan huruf atau angka dan tidak boleh berisi karakter khusus selain "-" dan "_".
    Unggahan File webjob.zip File .zip yang berisi webjob.js di tingkat akar. Jenis file yang didukung tercantum di bagian jenis file yang didukung .
    Tipe Tersulut Menentukan kapan WebJob berjalan: Berkelanjutan atau Dipicu.
    Pemicu Dijadwalkan Terjadwal atau Manual. Pastikan Selalu aktif diaktifkan agar jadwal berfungsi dengan andal.
    Ekspresi CRON 0 0/1 * * * * Untuk memulai cepat ini, kami menggunakan jadwal yang berjalan setiap menit. Lihat ekspresi CRON untuk mempelajari lebih lanjut tentang sintaks.
  4. WebJob yang baru muncul di halaman WebJobs. Jika Anda melihat pesan yang mengatakan bahwa WebJob ditambahkan, tetapi Anda tidak dapat menemukannya, pilih Refresh.

  5. WebJob terjadwal dijalankan pada jadwal yang ditentukan oleh ekspresi CRON.

    Cuplikan layar yang memperlihatkan cara menjalankan WebJob yang dijadwalkan secara manual di portal Azure.

WebJobs adalah fitur Azure App Service yang memungkinkan Anda menjalankan program atau skrip dalam instans yang sama dengan aplikasi web. Semua paket layanan aplikasi mendukung WebJobs tanpa biaya tambahan. Sampel ini menggunakan WebJob terjadwal (Dipicu) untuk mengeluarkan waktu sistem setiap menit sekali.

Penting

WebJobs tidak didukung dalam kontainer Linux kustom berdasarkan Alpine Linux, termasuk aplikasi Linux menggunakan tumpukan runtime Java 8 dan Java 11. Dimulai dengan aplikasi Linux Java 17, Azure App Service menggunakan gambar berbasis non-Alpine, yang kompatibel dengan WebJobs.

Prasyarat

Siapkan WebJob

  1. Unduh contoh Java WebJob. Anda akan membangun .JAR file menggunakan Maven. Proyek Java yang terletak di project/src/main/java/webjob/HelloWorld.java mengeluarkan pesan & waktu saat ini ke konsol.

    import java.time.LocalDateTime; 
    
    public class HelloWorld { 
    
        public static void main(String[] args) { 
    
            System.out.println("------------------------------------------------------------"); 
            System.out.println("Hello World from WebJob: " + LocalDateTime.now()); 
            System.out.println("------------------------------------------------------------"); 
        } 
    } 
    
  2. Bangun dan kemas proyek Java untuk menghasilkan executable .jar dengan menjalankan perintah berikut dari project/ direktori:

    mvn install 
    mvn package 
    

    File jar akan berada di project/target/webjob-artifact-1.0.0.jar setelah build berhasil.

  3. Kemasi project/target/webjob-artifact-1.0.0.jar sebagai berkas .zip.

    zip webjob.zip project/target/webjob-artifact-1.0.0.jar
    

Membuat WebJob terjadwal di Azure

  1. Di portal Microsoft Azure, buka halaman App Service aplikasi App Service Anda.

  2. Dari panel kiri, pilih WebJobs, lalu pilih Tambahkan.

    Cuplikan layar yang memperlihatkan cara menambahkan WebJob di aplikasi App Service di portal (WebJob terjadwal).

  3. Isi pengaturan Tambahkan WebJob seperti yang ditentukan dalam tabel, lalu pilih Buat Webjob. Untuk Unggahan File, pastikan untuk memilih file .zip yang Anda buat di bagian sebelumnya.

    Cuplikan layar yang memperlihatkan cara mengonfigurasi WebJob terjadwal di aplikasi App Service.

    Pengaturan nilai Deskripsi
    Nama pekerjaan web Nama WebJob. Harus dimulai dengan huruf atau angka dan tidak boleh berisi karakter khusus selain "-" dan "_".
    Unggahan File webjob.zip File .zip yang berisi webjob-artifact-1.0.0.jar. Jenis file yang didukung tercantum di bagian jenis file yang didukung .
    Tipe Tersulut Menentukan kapan WebJob berjalan: Berkelanjutan atau Dipicu.
    Pemicu Dijadwalkan Terjadwal atau Manual. Pastikan Selalu aktif diaktifkan agar jadwal berfungsi dengan andal.
    Ekspresi CRON 0 0/1 * * * * Untuk memulai cepat ini, kami menggunakan jadwal yang berjalan setiap menit. Lihat ekspresi CRON untuk mempelajari lebih lanjut tentang sintaks.
  4. WebJob yang baru muncul di halaman WebJobs. Jika Anda melihat pesan yang mengatakan bahwa WebJob ditambahkan, tetapi Anda tidak dapat menemukannya, pilih Refresh.

  5. WebJob terjadwal dijalankan pada jadwal yang ditentukan oleh ekspresi CRON.

    Cuplikan layar yang memperlihatkan cara menjalankan WebJob yang dijadwalkan secara manual di portal Azure.

WebJobs adalah fitur Azure App Service yang memungkinkan Anda menjalankan program atau skrip dalam instans yang sama dengan aplikasi web. Semua paket layanan aplikasi mendukung WebJobs tanpa biaya tambahan. Sampel ini menggunakan WebJob terjadwal (Dipicu) untuk mengeluarkan waktu sistem setiap menit sekali.

Prasyarat

  • Sebuah akun Azure dengan langganan aktif. Buat akun secara gratis.
  • Aplikasi PHP App Service yang ada di Linux. Dalam panduan memulai cepat ini, aplikasi PHP digunakan.
  • Selalu aktif harus diaktifkan di aplikasi Anda.
  • Pastikan pengaturan WEBSITE_SKIP_RUNNING_KUDUAGENT aplikasi diatur ke false.

Menyiapkan sampel WebJob

  1. Unduh proyek sampel bawaan untuk memulai dengan cepat. Sampel berisi file webjob.phpPHP , yang menghasilkan waktu saat ini ke konsol seperti yang ditunjukkan di bawah ini:

    <?php
    // Get the current time
    $current_time = date("Y-m-d H:i:s");
    
    // Display the current time
    echo "The current time is: " . $current_time;
    ?>
    
  2. Ekstrak file zip yang diunduh, lalu buat file zip baru yang hanya berisi file webjob.php (tanpa direktori induk). WebJobs mengharuskan executable atau skrip berada di akar file zip.

Membuat WebJob terjadwal

  1. Di portal Microsoft Azure, buka halaman App Service aplikasi App Service Anda.

  2. Dari panel kiri, pilih WebJobs, lalu pilih Tambahkan.

    Cuplikan layar yang memperlihatkan cara menambahkan WebJob di aplikasi App Service di portal (WebJob terjadwal).

  3. Isi pengaturan Tambahkan WebJob seperti yang ditentukan dalam tabel, lalu pilih Buat Webjob. Untuk Unggahan File, pastikan untuk memilih file .zip yang Anda buat sebelumnya di bagian Siapkan sampel WebJob .

    Cuplikan layar yang memperlihatkan cara mengonfigurasi WebJob terjadwal di aplikasi App Service.

    Pengaturan nilai Description
    Nama pekerjaan web Nama WebJob. Harus dimulai dengan huruf atau angka dan tidak boleh berisi karakter khusus selain "-" dan "_".
    Unggahan File webjob.zip File .zip yang berisi webjob.php di tingkat akar. Jenis file yang didukung tercantum di bagian jenis file yang didukung .
    Tipe Tersulut Menentukan kapan WebJob berjalan: Berkelanjutan atau Dipicu.
    Pemicu Dijadwalkan Terjadwal atau Manual. Pastikan Selalu aktif diaktifkan agar jadwal berfungsi dengan andal.
    Ekspresi CRON 0 0/1 * * * * Untuk memulai cepat ini, kami menggunakan jadwal yang berjalan setiap menit. Lihat ekspresi CRON untuk mempelajari lebih lanjut tentang sintaks.
  4. WebJob yang baru muncul di halaman WebJobs. Jika Anda melihat pesan yang mengatakan bahwa WebJob ditambahkan, tetapi Anda tidak dapat menemukannya, pilih Refresh.

  5. WebJob terjadwal dijalankan pada jadwal yang ditentukan oleh ekspresi CRON.

    Cuplikan layar yang memperlihatkan cara menjalankan WebJob yang dijadwalkan secara manual di portal Azure.

Nota

Zona waktu default yang digunakan untuk menjalankan ekspresi CRON adalah Waktu Universal Terkoordinasi (UTC). Agar ekspresi CRON Anda berjalan berdasarkan zona waktu lain, buat setelan aplikasi untuk aplikasi fungsi Anda yang bernama WEBSITE_TIME_ZONE. Untuk mempelajari lebih lanjut, lihat Zona waktu NCRONTAB.

Meninjau log WebJob

Pilih log untuk WebJob yang Anda buat sebelumnya.

Cuplikan layar yang menunjukkan cara melihat log WebJob di aplikasi App Service di portal (WebJob terjadwal).

Hasilnya akan terlihat seperti berikut.

Tangkapan layar yang menunjukkan output log WebJobs.

Pembersihan

Untuk menghapus WebJob, pilih WebJob di portal dan pilih Delete.

Tangkapan layar yang menunjukkan bagaimana Anda dapat menghapus WebJob di portal.

Langkah selanjutnya

Jelajahi skenario WebJob yang lebih canggih, termasuk pemicu dan opsi penyebaran