Cara kerja konfigurasi pekerjaan - AWS IoT Core

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Cara kerja konfigurasi pekerjaan

Anda menggunakan konfigurasi peluncuran dan pembatalan saat menerapkan pekerjaan, serta konfigurasi batas waktu dan coba lagi untuk eksekusi pekerjaan. Bagian berikut menunjukkan informasi selengkapnya tentang cara kerja konfigurasi ini.

Peluncuran pekerjaan, penjadwalan, dan membatalkan konfigurasi

Anda dapat menggunakan konfigurasi peluncuran pekerjaan, penjadwalan, dan membatalkan untuk menentukan berapa banyak perangkat yang menerima dokumen pekerjaan, menjadwalkan peluncuran pekerjaan, dan menentukan kriteria untuk membatalkan pekerjaan.

Anda dapat menentukan seberapa cepat target diberi tahu tentang eksekusi pekerjaan yang tertunda. Anda juga dapat membuat peluncuran bertahap untuk mengelola pembaruan, reboot, dan operasi lainnya. Untuk menentukan bagaimana target Anda diberi tahu, gunakan tarif peluncuran pekerjaan.

Tarif peluncuran Job

Anda dapat membuat konfigurasi peluncuran dengan menggunakan tingkat peluncuran konstan atau tingkat peluncuran eksponensial. Untuk menentukan jumlah maksimum target pekerjaan yang akan diinformasikan per menit, gunakan tingkat peluncuran konstan.

AWS IoT pekerjaan dapat digunakan menggunakan tingkat peluncuran eksponensial karena berbagai kriteria dan ambang batas terpenuhi. Jika jumlah pekerjaan yang gagal cocok dengan serangkaian kriteria yang Anda tentukan, maka Anda dapat membatalkan peluncuran pekerjaan. Anda menetapkan kriteria tingkat peluncuran pekerjaan saat Anda membuat pekerjaan dengan menggunakan objek. JobExecutionsRolloutConfig Anda juga menetapkan kriteria pembatalan pekerjaan pada penciptaan pekerjaan dengan menggunakan AbortConfigobjek.

Contoh berikut menunjukkan cara kerja tingkat peluncuran. Misalnya, peluncuran pekerjaan dengan tingkat dasar 50 per menit, faktor kenaikan 2, dan jumlah perangkat yang diberitahukan dan berhasil masing-masing sebagai 1.000, akan berfungsi sebagai berikut: Pekerjaan akan dimulai pada tingkat 50 eksekusi pekerjaan per menit dan berlanjut pada tingkat itu sampai 1.000 hal telah menerima pemberitahuan pelaksanaan pekerjaan, atau 1.000 eksekusi pekerjaan yang berhasil telah terjadi.

Tabel berikut menggambarkan bagaimana peluncuran akan dilanjutkan selama empat kenaikan pertama.

Tingkat peluncuran per menit

50

100

200

400

Jumlah perangkat yang diberitahukan atau eksekusi pekerjaan yang berhasil untuk memenuhi kenaikan tarif

1.000

2.000

3.000

4.000

catatan

Jika Anda berada pada batas maksimum bersamaan 500 Jobs (isConcurrent = True), maka semua pekerjaan aktif akan tetap dengan status IN-PROGRESS dan tidak meluncurkan eksekusi pekerjaan baru sampai jumlah pekerjaan bersamaan adalah 499 atau kurang (. isConcurrent = False) Ini berlaku untuk snapshot dan pekerjaan berkelanjutan.

JikaisConcurrent = True, pekerjaan saat ini meluncurkan eksekusi pekerjaan ke semua perangkat di grup target Anda. JikaisConcurrent = False, pekerjaan telah menyelesaikan peluncuran semua eksekusi pekerjaan ke semua perangkat di grup target Anda. Ini akan memperbarui status statusnya setelah semua perangkat dalam grup target Anda mencapai status terminal, atau persentase ambang batas grup target Anda jika Anda memilih konfigurasi pembatalan pekerjaan. Status tingkat Job menyatakan untuk isConcurrent = True dan isConcurrent = False keduanyaIN_PROGRESS.

Untuk informasi selengkapnya tentang batas pekerjaan aktif dan bersamaan, lihatBatas pekerjaan aktif dan bersamaan.

Tarif peluncuran Job untuk pekerjaan berkelanjutan menggunakan grup benda dinamis

Ketika Anda menggunakan pekerjaan berkelanjutan untuk meluncurkan operasi jarak jauh pada armada Anda, AWS IoT Jobs meluncurkan eksekusi pekerjaan untuk perangkat dalam kelompok hal target Anda. Untuk perangkat baru yang ditambahkan ke grup benda dinamis, eksekusi pekerjaan ini terus diluncurkan ke perangkat tersebut bahkan setelah pekerjaan dibuat.

Konfigurasi peluncuran dapat mengontrol tingkat peluncuran hanya untuk perangkat yang ditambahkan ke grup hingga pembuatan lapangan kerja. Setelah pekerjaan dibuat, untuk perangkat baru apa pun, eksekusi pekerjaan dibuat dalam waktu dekat segera setelah perangkat bergabung dengan grup sasaran.

Anda dapat menjadwalkan pekerjaan berkelanjutan atau snapshot hingga satu tahun sebelumnya menggunakan waktu mulai yang telah ditentukan, waktu akhir, dan perilaku akhir untuk apa yang akan terjadi pada setiap eksekusi pekerjaan setelah mencapai waktu akhir. Selain itu, Anda dapat membuat jendela pemeliharaan berulang opsional dengan frekuensi fleksibel, waktu mulai, dan durasi untuk pekerjaan berkelanjutan untuk meluncurkan dokumen pekerjaan ke semua perangkat dalam grup target.

Konfigurasi penjadwalan pekerjaan

Waktu mulai

Waktu mulai dari pekerjaan terjadwal adalah tanggal dan waktu masa depan bahwa pekerjaan akan memulai peluncuran dokumen pekerjaan ke semua perangkat dalam kelompok sasaran. Waktu mulai untuk pekerjaan terjadwal berlaku untuk pekerjaan berkelanjutan dan pekerjaan snapshot. Ketika pekerjaan terjadwal awalnya dibuat, ia mempertahankan status statusSCHEDULED. Setelah tiba di startTime yang Anda pilih, itu memperbarui IN_PROGRESS dan memulai peluncuran dokumen pekerjaan. startTimeHarus kurang dari atau sama dengan satu tahun dari tanggal dan waktu awal Anda membuat pekerjaan yang dijadwalkan.

Untuk informasi selengkapnya tentang sintaks startTime saat menggunakan perintah API atau perintah AWS CLI, lihat Timestamp.

Untuk pekerjaan dengan konfigurasi penjadwalan opsional yang berlangsung selama jendela pemeliharaan berulang di lokasi yang mengamati waktu musim panas (DST), waktu akan berubah satu jam saat beralih dari DST ke waktu standar dan dari waktu standar ke DST.

catatan

Zona waktu yang ditampilkan di AWS Management Console adalah zona waktu sistem Anda saat ini. Namun, zona waktu ini akan diubah menjadi UTC dalam sistem.

Waktu akhir

Waktu akhir dari pekerjaan terjadwal adalah tanggal dan waktu masa depan bahwa pekerjaan akan menghentikan peluncuran dokumen pekerjaan ke perangkat yang tersisa dalam kelompok sasaran. Waktu akhir untuk pekerjaan terjadwal berlaku untuk pekerjaan berkelanjutan dan pekerjaan snapshot. Setelah pekerjaan terjadwal tiba di yang dipilihendTime, dan semua eksekusi pekerjaan telah mencapai status terminal, itu memperbarui status statusnya dari IN_PROGRESS keCOMPLETED. endTimeHarus kurang dari atau sama dengan dua tahun dari tanggal dan waktu awal Anda membuat pekerjaan yang dijadwalkan. Durasi minimum antara startTime dan endTime 30 menit. Upaya percobaan ulang eksekusi Job akan terjadi sampai pekerjaan mencapaiendTime, kemudian endBehavior akan menentukan bagaimana untuk melanjutkan.

Untuk informasi selengkapnya tentang sintaks endTime saat menggunakan perintah API atau perintah AWS CLI, lihat Timestamp.

Untuk pekerjaan dengan konfigurasi penjadwalan opsional yang berlangsung selama jendela pemeliharaan berulang di lokasi yang mengamati waktu musim panas (DST), waktu akan berubah satu jam saat beralih dari DST ke waktu standar dan dari waktu standar ke DST.

catatan

Zona waktu yang ditampilkan di AWS Management Console adalah zona waktu sistem Anda saat ini. Namun, zona waktu ini akan diubah menjadi UTC dalam sistem.

Akhiri perilaku

Perilaku akhir dari pekerjaan terjadwal menentukan apa yang terjadi pada pekerjaan dan semua eksekusi pekerjaan yang belum selesai ketika pekerjaan mencapai yang dipilih. endTime

Berikut ini mencantumkan perilaku akhir yang dapat Anda pilih saat membuat templat pekerjaan atau pekerjaan:

  • STOP_ROLLOUT

    • STOP_ROLLOUTmenghentikan peluncuran dokumen pekerjaan ke semua perangkat yang tersisa dalam kelompok sasaran untuk pekerjaan itu. Selain itu, semua QUEUED dan eksekusi IN_PROGRESS pekerjaan akan berlanjut sampai mereka mencapai status terminal. Ini adalah perilaku akhir default kecuali Anda memilih CANCEL atauFORCE_CANCEL.

  • CANCEL

    • CANCELmenghentikan peluncuran dokumen pekerjaan ke semua perangkat yang tersisa dalam kelompok sasaran untuk pekerjaan itu. Selain itu, semua eksekusi QUEUED pekerjaan akan dibatalkan sementara semua eksekusi IN_PROGRESS pekerjaan akan berlanjut hingga mencapai status terminal.

  • FORCE_CANCEL

    • FORCE_CANCELmenghentikan peluncuran dokumen pekerjaan ke semua perangkat yang tersisa dalam kelompok sasaran untuk pekerjaan itu. Selain itu, semua eksekusi QUEUED dan IN_PROGRESS pekerjaan akan dibatalkan.

catatan

Untuk memilihendbehavior, Anda harus memilih endtime

Durasi maks

Durasi maksimum pekerjaan terjadwal harus kurang dari atau sama dengan dua tahun terlepas dari startTime danendTime.

Tabel berikut mencantumkan skenario durasi umum dari pekerjaan terjadwal:

Nomor contoh Job Terjadwal startTime EndTime Durasi maks

1

Segera setelah penciptaan lapangan kerja awal.

Satu tahun setelah penciptaan lapangan kerja awal.

Satu tahun

2

Satu bulan setelah penciptaan lapangan kerja awal.

13 bulan setelah penciptaan lapangan kerja awal.

Satu tahun

3

Satu tahun setelah penciptaan lapangan kerja awal.

Dua tahun setelah penciptaan lapangan kerja awal.

Satu tahun

4

Segera setelah penciptaan lapangan kerja awal.

Dua tahun setelah penciptaan lapangan kerja awal.

Dua tahun

Jendela pemeliharaan berulang

Jendela pemeliharaan adalah konfigurasi opsional dalam konfigurasi penjadwalan AWS Management Console dan di SchedulingConfig dalam CreateJob dan CreateJobTemplate API. Anda dapat mengatur jendela pemeliharaan berulang dengan waktu mulai, durasi, dan frekuensi yang telah ditentukan sebelumnya (harian, mingguan, atau bulanan) bahwa jendela pemeliharaan terjadi. Jendela pemeliharaan hanya berlaku untuk pekerjaan berkelanjutan. Durasi maksimum jendela pemeliharaan berulang adalah 23 jam, 50 menit.

Diagram berikut menggambarkan status status pekerjaan untuk berbagai skenario pekerjaan terjadwal dengan jendela pemeliharaan opsional:

Diagram yang menunjukkan siklus hidup pekerjaan berkelanjutan, berkembang melalui status SCHEDULED, IN_PROGRESS, CANCELLED, dan DELETION_IN_PROGRESS pada peristiwa tertentu.

Untuk informasi selengkapnya tentang status status pekerjaan, lihatPekerjaan dan status eksekusi pekerjaan.

catatan

Jika pekerjaan tiba di endTime selama jendela pemeliharaan, itu akan diperbarui dari IN_PROGRESS keCOMPLETED. Selain itu, setiap eksekusi pekerjaan yang tersisa akan mengikuti endBehavior untuk pekerjaan itu.

Ekspresi cron

Untuk pekerjaan terjadwal yang meluncurkan dokumen pekerjaan selama jendela pemeliharaan dengan frekuensi khusus, frekuensi kustom dimasukkan menggunakan ekspresi cron. Ekspresi cron memiliki enam bidang wajib, yang dipisahkan oleh spasi putih.

Sintaksis

cron(fields)
Bidang Nilai-nilai Wildcard

Menit

0-59

, - * /

Jam

0-23

, - * /

D ay-of-month

1-31

, - * ? / L W

Bulan

1-12 atau JAN-DES

, - * /

D ay-of-week

1-7 atau MGG-SBT

, - * ? L #

Tahun

1970-2199

, - * /

Wildcard
  • Wildcard , (koma) mencakup nilai tambahan. Di field Bulan, JAN, FEB, MAR akan mencakup Januari, Februari, dan Maret.

  • Wildcard - (tanda hubung) menentukan rentang. Di field Tanggal, 1-15 akan mencakup tanggal 1 hingga 15 pada bulan yang ditentukan.

  • Wildcard * (bintang) mencakup semua nilai di bidang. Di field Jam, * akan mencakup setiap jam. Anda tidak dapat menggunakan* di ay-of-week bidang D ay-of-month dan D. Jika Anda menggunakannya di satu bidang, Anda harus menggunakan ? di bidang lain.

  • Wildcard / (garis miring) menentukan tambahan. Di bidang menit, Anda bisa memasukkan 1/10 untuk menentukan setiap menit kesepuluh, mulai dari menit pertama jam (sebagai contoh, menit ke-11, 21, dan 31, dan seterusnya).

  • Wildcard ? (tanda tanya) menentukan satu atau yang lain. Di ay-of-month bidang D, Anda bisa memasukkan 7 dan jika Anda tidak peduli hari apa dalam minggu ke-7, Anda bisa masuk? di ay-of-week bidang D.

  • Wildcard L di ay-of-week bidang D ay-of-month atau D menentukan hari terakhir bulan atau minggu.

  • WWildcard di ay-of-month bidang D menentukan hari kerja. Di ay-of-month bidang D, 3W tentukan hari kerja yang paling dekat dengan hari ketiga bulan itu.

  • Wildcard # di ay-of-week bidang D menentukan contoh tertentu dari hari yang ditentukan dalam seminggu dalam sebulan. Sebagai contoh, 3#2 akan menjadi hari Selasa kedua setiap bulan: 3 mengacu pada hari Selasa karena itu adalah hari ketiga setiap minggu, dan 2 mengacu pada hari kedua dari jenis tersebut dalam bulan tersebut.

    catatan

    Jika Anda menggunakan karakter '#', Anda hanya dapat menentukan satu ekspresi di day-of-week bidang. Misalnya, "3#1,6#3" tidak valid karena ditafsirkan sebagai dua ekspresi.

Pembatasan
  • Anda tidak dapat menentukan ay-of-week bidang D ay-of-month dan D dalam ekspresi cron yang sama. Jika Anda menentukan nilai (atau *) di salah satu bidang, Anda harus menggunakan? di sisi lain.

Contoh

Lihat contoh string cron berikut saat menggunakan ekspresi cron untuk jendela startTime pemeliharaan berulang.

Menit Jam Hari dalam sebulan Bulan Hari dalam seminggu Tahun Arti
0 10 * * ? *

Jalankan pada pukul 10:00 pagi (UTC) setiap hari

15 12 * * ? *

Jalankan pada pukul 12.15 (UTC) setiap hari

0 18 ? * MON-FRI *

Jalankan pada pukul 18.00 (UTC) setiap Senin hingga Jumat

0 8 1 * ? *

Jalankan pada pukul 8:00 (UTC) setiap tanggal satu di bulannya

Logika akhir durasi jendela pemeliharaan berulang

Ketika peluncuran pekerjaan selama jendela pemeliharaan mencapai akhir durasi kejadian jendela pemeliharaan saat ini, tindakan berikut akan terjadi:

  • Job akan menghentikan semua peluncuran dokumen pekerjaan ke perangkat yang tersisa di grup target Anda. Ini akan dilanjutkan startTime di jendela pemeliharaan berikutnya.

  • Semua eksekusi pekerjaan dengan status QUEUED akan tetap ada QUEUED sampai jendela startTime pemeliharaan berikutnya terjadi. Di jendela berikutnya, mereka dapat beralih ke IN_PROGRESS saat perangkat siap untuk mulai melakukan tindakan yang ditentukan dalam dokumen pekerjaan.

  • Semua eksekusi pekerjaan dengan status IN_PROGRESS akan terus melakukan tindakan yang ditentukan dalam dokumen pekerjaan sampai mencapai status terminal. Setiap upaya coba lagi seperti yang ditentukan dalam JobExecutionsRetryConfig akan dilakukan di startTime jendela pemeliharaan berikutnya.

Gunakan konfigurasi ini untuk membuat kriteria untuk membatalkan pekerjaan ketika persentase ambang perangkat memenuhi kriteria tersebut. Misalnya, Anda dapat menggunakan konfigurasi ini untuk membatalkan pekerjaan dalam kasus berikut:

  • Ketika persentase ambang batas perangkat tidak menerima pemberitahuan eksekusi pekerjaan, seperti saat perangkat Anda tidak kompatibel untuk pembaruan Over-The-Air (OTA). Dalam hal ini, perangkat Anda dapat melaporkan REJECTED status.

  • Ketika persentase ambang batas perangkat melaporkan kegagalan untuk eksekusi pekerjaannya, seperti saat perangkat Anda mengalami pemutusan saat mencoba mengunduh dokumen pekerjaan dari URL Amazon S3. Dalam kasus seperti itu, perangkat Anda harus diprogram untuk melaporkan FAILURE statusnya. AWS IoT

  • Ketika TIMED_OUT status dilaporkan karena waktu eksekusi pekerjaan habis untuk persentase ambang perangkat setelah eksekusi pekerjaan dimulai.

  • Ketika ada beberapa kegagalan coba lagi. Saat Anda menambahkan konfigurasi coba lagi, setiap upaya coba lagi dapat dikenakan biaya tambahan untuk Anda. Akun AWS Dalam kasus seperti itu, membatalkan pekerjaan dapat membatalkan eksekusi pekerjaan yang diantrian dan menghindari upaya coba lagi untuk eksekusi ini. Untuk informasi selengkapnya tentang konfigurasi coba lagi dan menggunakannya dengan konfigurasi batalkan, lihat. Konfigurasi batas waktu eksekusi pekerjaan dan coba lagi

Anda dapat mengatur kondisi pembatalan pekerjaan dengan menggunakan AWS IoT konsol atau AWS IoT Jobs API.

Konfigurasi batas waktu eksekusi pekerjaan dan coba lagi

Gunakan konfigurasi batas waktu eksekusi pekerjaan untuk mengirim Anda Pemberitahuan pekerjaan ketika eksekusi pekerjaan telah berlangsung lebih lama dari durasi yang ditetapkan. Gunakan konfigurasi coba ulang eksekusi pekerjaan untuk mencoba kembali eksekusi saat pekerjaan gagal atau habis waktu.

Gunakan konfigurasi batas waktu eksekusi pekerjaan untuk memberi tahu Anda setiap kali eksekusi pekerjaan macet di IN_PROGRESS status untuk jangka waktu yang sangat lama. Ketika pekerjaan ituIN_PROGRESS, Anda dapat memantau kemajuan pelaksanaan pekerjaan Anda.

Timer untuk batas waktu kerja

Ada dua jenis pengatur waktu: pengatur waktu dalam proses dan pengatur waktu langkah.

Pengatur waktu dalam proses

Saat Anda membuat pekerjaan atau templat pekerjaan, Anda dapat menentukan nilai untuk pengatur waktu yang sedang berlangsung antara 1 menit dan 7 hari. Anda dapat memperbarui nilai timer ini hingga dimulainya eksekusi pekerjaan Anda. Setelah timer Anda dimulai, itu tidak dapat diperbarui, dan nilai timer berlaku untuk semua eksekusi pekerjaan untuk pekerjaan tersebut. Setiap kali eksekusi pekerjaan tetap dalam IN_PROGRESS status lebih lama dari interval ini, eksekusi pekerjaan gagal dan beralih ke TIMED_OUT status terminal. AWS IoT juga menerbitkan pemberitahuan MQTT.

Pengatur waktu langkah

Anda juga dapat mengatur pengatur waktu langkah yang hanya berlaku untuk eksekusi pekerjaan yang ingin Anda perbarui. Timer ini tidak berpengaruh pada timer yang sedang berlangsung. Setiap kali Anda memperbarui eksekusi pekerjaan, Anda dapat menetapkan nilai baru untuk pengatur waktu langkah. Anda juga dapat membuat pengatur waktu langkah baru saat memulai eksekusi pekerjaan tertunda berikutnya untuk suatu hal. Jika eksekusi pekerjaan tetap dalam IN_PROGRESS status lebih lama dari interval pengatur waktu langkah, itu gagal dan beralih ke TIMED_OUT status terminal.

catatan

Anda dapat mengatur timer yang sedang berlangsung dengan menggunakan AWS IoT konsol atau AWS IoT Jobs API. Untuk menentukan pengatur waktu langkah, gunakan API.

Bagaimana pengatur waktu bekerja untuk batas waktu kerja

Berikut ini menggambarkan cara-cara di mana batas waktu yang sedang berlangsung dan batas waktu langkah berinteraksi satu sama lain dalam periode batas waktu 20 menit.

Garis waktu yang menunjukkan timer dalam proses 20 menit dengan pengatur waktu langkah bersarang 7, 5, dan 8 menit.

Berikut ini menunjukkan langkah-langkah yang berbeda:

  1. 12:00

    Pekerjaan baru dibuat dan timer dalam proses selama dua puluh menit dimulai saat membuat pekerjaan. Timer yang sedang berlangsung mulai berjalan dan eksekusi pekerjaan beralih ke IN_PROGRESS status.

  2. 12:05PM

    Timer langkah baru dengan nilai 7 menit dibuat. Pelaksanaan pekerjaan sekarang akan habis pada 12:12 PM.

  3. 12:10PM

    Timer langkah baru dengan nilai 5 menit dibuat. Ketika pengatur waktu langkah baru dibuat, pengatur waktu langkah sebelumnya dibuang, dan eksekusi pekerjaan sekarang akan habis pada pukul 12:15.

  4. 12:13PM

    Timer langkah baru dengan nilai 9 menit dibuat. Timer langkah sebelumnya dibuang dan eksekusi pekerjaan sekarang akan habis pada pukul 12:20 karena waktu yang sedang berlangsung habis pada pukul 12:20. Pengatur waktu langkah tidak dapat melebihi batas absolut pengatur waktu yang sedang berlangsung.

Anda dapat menggunakan konfigurasi coba lagi untuk mencoba kembali eksekusi pekerjaan ketika serangkaian kriteria tertentu terpenuhi. Coba lagi dapat dicoba ketika waktu kerja habis atau ketika perangkat gagal. Untuk mencoba kembali eksekusi karena kegagalan batas waktu, Anda harus mengaktifkan konfigurasi batas waktu.

Cara menggunakan konfigurasi coba lagi

Gunakan langkah-langkah berikut untuk mencoba kembali konfigurasi:

  1. Tentukan apakah akan menggunakan konfigurasi coba lagi untukFAILED,TIMED_OUT, atau kedua kriteria kegagalan. Untuk TIMED_OUT status, setelah status dilaporkan, AWS IoT Jobs secara otomatis mencoba ulang eksekusi pekerjaan untuk perangkat.

  2. Untuk FAILED status, periksa apakah kegagalan eksekusi pekerjaan Anda dapat dicoba ulang. Jika dapat dicoba ulang, program perangkat Anda untuk melaporkan FAILURE statusnya. AWS IoT Bagian berikut menjelaskan lebih lanjut tentang kegagalan yang dapat dicoba ulang dan tidak dapat dicoba kembali.

  3. Tentukan jumlah percobaan ulang yang akan digunakan untuk setiap jenis kegagalan dengan menggunakan informasi sebelumnya. Untuk satu perangkat, Anda dapat menentukan hingga 10 percobaan ulang untuk kedua jenis kegagalan yang digabungkan. Upaya coba lagi berhenti secara otomatis ketika eksekusi berhasil atau ketika mencapai jumlah upaya yang ditentukan.

  4. Tambahkan konfigurasi batal untuk membatalkan pekerjaan jika ada kegagalan coba lagi berulang untuk menghindari biaya tambahan yang dikeluarkan dengan sejumlah besar upaya coba lagi.

catatan

Ketika pekerjaan mencapai akhir dari kejadian jendela pemeliharaan berulang, semua eksekusi IN_PROGRESS pekerjaan akan terus melakukan tindakan yang diidentifikasi dalam dokumen pekerjaan sampai mereka mencapai status terminal. Jika eksekusi pekerjaan mencapai status terminal FAILED atau TIMED_OUT di luar jendela pemeliharaan, upaya coba lagi akan terjadi di jendela berikutnya jika upaya tidak habis. Pada startTime kemunculan jendela pemeliharaan berikutnya, eksekusi pekerjaan baru akan dibuat dan memasukkan status status QUEUED hingga perangkat siap untuk memulai.

Coba lagi dan batalkan konfigurasi

Setiap upaya coba lagi menimbulkan biaya tambahan untuk Anda. Akun AWS Untuk menghindari biaya tambahan dari kegagalan percobaan ulang berulang, kami sarankan menambahkan konfigurasi batal. Untuk informasi selengkapnya tentang harga, silakan lihat harga AWS IoT Device Management.

Anda mungkin mengalami beberapa kegagalan coba lagi ketika persentase ambang batas tinggi perangkat Anda baik waktu habis atau melaporkan kegagalan. Dalam hal ini, Anda dapat menggunakan konfigurasi batal untuk membatalkan pekerjaan dan menghindari eksekusi pekerjaan antrian atau upaya coba lagi lebih lanjut.

catatan

Ketika kriteria pembatalan terpenuhi untuk membatalkan eksekusi pekerjaan, hanya eksekusi QUEUED pekerjaan yang dibatalkan. Setiap percobaan ulang antrian untuk perangkat tidak akan dicoba. Namun, eksekusi pekerjaan saat ini yang memiliki IN_PROGRESS status tidak akan dibatalkan.

Sebelum mencoba kembali eksekusi pekerjaan yang gagal, kami juga menyarankan Anda memeriksa apakah kegagalan eksekusi pekerjaan Anda dapat dicoba kembali, seperti yang dijelaskan di bagian berikut.

Coba lagi untuk jenis kegagalan FAILED

Untuk mencoba mencoba ulang untuk jenis kegagalanFAILED, perangkat Anda harus diprogram untuk melaporkan FAILURE status eksekusi pekerjaan yang gagal. AWS IoT Tetapkan konfigurasi coba lagi dengan kriteria untuk mencoba lagi eksekusi FAILED pekerjaan dan tentukan jumlah percobaan ulang yang akan dilakukan. Ketika AWS IoT Jobs mendeteksi FAILURE status, maka secara otomatis akan mencoba untuk mencoba kembali eksekusi pekerjaan untuk perangkat. Percobaan ulang berlanjut sampai eksekusi pekerjaan berhasil atau ketika mencapai jumlah maksimum upaya coba lagi.

Anda dapat melacak setiap percobaan ulang dan pekerjaan yang berjalan pada perangkat ini. Dengan melacak status eksekusi, setelah jumlah percobaan ulang yang ditentukan telah dicoba, Anda dapat menggunakan perangkat Anda untuk melaporkan kegagalan dan memulai percobaan ulang lainnya.

Kegagalan yang dapat dicoba ulang dan tidak dapat dicoba kembali

Kegagalan eksekusi pekerjaan Anda dapat dicoba kembali atau tidak dapat dicoba kembali. Setiap upaya coba lagi dapat menimbulkan biaya untuk Anda. Akun AWS Untuk menghindari biaya tambahan dari beberapa upaya coba lagi, pertama-tama pertimbangkan untuk memeriksa apakah kegagalan eksekusi pekerjaan Anda dapat dicoba kembali. Contoh kegagalan yang dapat dicoba ulang mencakup kesalahan koneksi yang ditemui perangkat Anda saat mencoba mengunduh dokumen pekerjaan dari URL Amazon S3. Jika kegagalan eksekusi pekerjaan Anda dapat dicoba ulang, program perangkat Anda untuk melaporkan FAILURE status jika eksekusi pekerjaan gagal. Kemudian, atur konfigurasi coba lagi untuk mencoba lagi FAILED eksekusi.

Jika eksekusi tidak dapat dicoba lagi, untuk menghindari percobaan ulang dan berpotensi menimbulkan biaya tambahan ke akun Anda, kami sarankan Anda memprogram perangkat untuk melaporkan statusnya. REJECTED AWS IoT Contoh kegagalan yang tidak dapat dicoba ulang termasuk saat perangkat Anda tidak kompatibel dalam menerima pembaruan pekerjaan, atau saat mengalami kesalahan memori saat menjalankan pekerjaan. Dalam kasus ini, AWS IoT Jobs tidak akan mencoba lagi eksekusi pekerjaan karena mencoba kembali eksekusi pekerjaan hanya ketika mendeteksi status atauFAILED. TIMED_OUT

Setelah Anda menentukan bahwa kegagalan eksekusi pekerjaan dapat dicoba ulang, jika upaya coba lagi masih gagal, pertimbangkan untuk memeriksa log perangkat.

catatan

Ketika pekerjaan dengan konfigurasi penjadwalan opsional mencapaiendTime, yang dipilih endBehavior akan menghentikan peluncuran dokumen pekerjaan ke semua perangkat yang tersisa di grup target dan menentukan cara melanjutkan eksekusi pekerjaan yang tersisa. Upaya dicoba lagi jika dipilih melalui konfigurasi coba lagi.

Coba lagi untuk jenis kegagalan TIMEOUT

Jika Anda mengaktifkan batas waktu saat membuat pekerjaan, AWS IoT Jobs akan mencoba kembali eksekusi pekerjaan untuk perangkat saat status berubah dari IN_PROGRESS ke. TIMED_OUT Perubahan status ini dapat terjadi saat waktu pengatur waktu yang sedang berlangsung habis, atau saat pengatur waktu langkah yang Anda tentukan masuk IN_PROGRESS dan kemudian habis waktu. Percobaan ulang berlanjut sampai eksekusi pekerjaan berhasil, atau ketika mencapai jumlah maksimum upaya coba lagi untuk jenis kegagalan ini.

Pekerjaan berkelanjutan dan pembaruan keanggotaan grup

Untuk pekerjaan berkelanjutan yang memiliki status pekerjaan sebagaiIN_PROGRESS, jumlah upaya coba lagi diatur ulang ke nol ketika ada pembaruan untuk keanggotaan grup sesuatu. Misalnya, pertimbangkan bahwa Anda menentukan lima upaya coba lagi dan tiga percobaan ulang telah dilakukan. Jika sesuatu sekarang dihapus dari grup benda dan kemudian bergabung kembali dengan grup, seperti dengan grup benda dinamis, jumlah upaya coba lagi diatur ulang ke nol. Anda sekarang dapat melakukan lima upaya coba lagi untuk kelompok hal Anda alih-alih dua upaya yang tersisa. Selain itu, ketika sesuatu dihapus dari grup benda, upaya coba lagi tambahan dibatalkan.