View a markdown version of this page

Cara kerja konfigurasi tugas - 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 tugas

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

Peluncuran pekerjaan, penjadwalan, dan konfigurasi pembatalan

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

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

Tarif peluncuran pekerjaan

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 sesuai dengan serangkaian kriteria yang Anda tentukan, maka Anda dapat membatalkan peluncuran pekerjaan. Anda menetapkan kriteria tingkat peluncuran pekerjaan saat membuat pekerjaan dengan menggunakan JobExecutionsRolloutConfig objek. Anda juga menetapkan kriteria pembatalan pekerjaan pada pembuatan pekerjaan dengan menggunakan AbortConfig objek.

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

Tabel berikut menggambarkan bagaimana peluncuran akan berlangsung 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

3000

4000

catatan

Jika Anda berada pada batas maksimum serentak 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 sedang 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 status 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 pekerjaan menyatakan untuk isConcurrent = True dan isConcurrent = False keduanyaIN_PROGRESS.

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

Tingkat peluncuran pekerjaan untuk pekerjaan berkelanjutan menggunakan grup benda dinamis

Saat Anda menggunakan pekerjaan berkelanjutan untuk meluncurkan operasi jarak jauh pada armada Anda, AWS IoT Jobs meluncurkan eksekusi pekerjaan untuk perangkat dalam grup 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 pekerjaan. Setelah pekerjaan dibuat, untuk perangkat baru apa pun, eksekusi pekerjaan dibuat hampir secara real time segera setelah perangkat bergabung dengan grup target.

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

Konfigurasi penjadwalan pekerjaan

Waktu mulai

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

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

Untuk pekerjaan dengan konfigurasi penjadwalan opsional yang berlangsung selama jendela pemeliharaan berulang di lokasi yang mengamati waktu penghematan 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 Konsol Manajemen AWS adalah zona waktu sistem Anda saat ini. Namun, zona waktu ini akan diubah menjadi UTC dalam sistem.

Waktu akhir

Waktu akhir pekerjaan yang dijadwalkan adalah tanggal dan waktu di mana pekerjaan akan menghentikan peluncuran dokumen pekerjaan ke perangkat yang tersisa di grup target. 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, status statusnya akan diperbarui dari IN_PROGRESS keCOMPLETED. endTimeHarus kurang dari atau sama dengan dua tahun sejak tanggal dan waktu awal Anda membuat pekerjaan yang dijadwalkan. Durasi minimum antara startTime dan endTime adalah 30 menit. Upaya coba ulang eksekusi pekerjaan akan terjadi sampai pekerjaan mencapaiendTime, kemudian endBehavior akan menentukan cara melanjutkan.

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

Untuk pekerjaan dengan konfigurasi penjadwalan opsional yang berlangsung selama jendela pemeliharaan berulang di lokasi yang mengamati waktu penghematan 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 Konsol Manajemen AWS adalah zona waktu sistem Anda saat ini. Namun, zona waktu ini akan diubah menjadi UTC dalam sistem.

Akhiri perilaku

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

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

  • STOP_ROLLOUT

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

  • CANCEL

    • CANCELmenghentikan peluncuran dokumen pekerjaan ke semua perangkat yang tersisa di grup target untuk pekerjaan tersebut. 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 di grup target untuk pekerjaan tersebut. Selain itu, semua QUEUED dan eksekusi IN_PROGRESS pekerjaan akan dibatalkan.

catatan

Untuk memilihendbehavior, Anda harus memilih endtime

Durasi maksimal

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

Tabel berikut mencantumkan skenario durasi umum dari pekerjaan terjadwal:

Nomor contoh Pekerjaan Terjadwal startTime Waktu Akhir Durasi maksimal

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 Konsol Manajemen AWS dan SchedulingConfig di dalam CreateJob dan CreateJobTemplate API. Anda dapat mengatur jendela pemeliharaan berulang dengan waktu mulai, durasi, dan frekuensi yang telah ditentukan (harian, mingguan, atau bulanan) di mana jendela pemeliharaan terjadi. Jadwal pemeliharaan hanya berlaku untuk tugas kontinu. Durasi maksimum jendela pemeliharaan berulang adalah 23 jam, 50 menit.

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

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

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

catatan

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

Ekspresi Cron

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

Sintaksis

cron(fields)
Bidang Nilai-nilai Karakter pengganti

Menit

0-59

, - * /

Jam

0-23

, - * /

Day-of-month

1-31

, - * ? / L W

Bulan

1-12 atau JAN-DEC

, - * /

Day-of-week

1-7 atau SUN-SAT

, - * ? 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 Day-of-week bidang Day-of-month dan. Jika Anda menggunakannya di satu bidang, Anda harus menggunakan ? di bidang lain.

  • Wildcard / (garis miring) menentukan tambahan. Di bidang Menit, Anda dapat memasukkan 1/10 untuk menentukan setiap menit kesepuluh, mulai dari menit pertama jam (misalnya, menit 11, 21, dan 31, dan seterusnya).

  • Wildcard ? (tanda tanya) menentukan satu atau yang lain. Di Day-of-month lapangan, Anda bisa memasukkan 7 dan jika Anda tidak peduli hari apa dalam seminggu tanggal 7, Anda bisa masuk? di Day-of-week lapangan.

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

  • WWildcard di Day-of-month bidang menentukan hari kerja. Di Day-of-month lapangan, tent 3W ukan hari kerja yang paling dekat dengan hari ketiga bulan itu.

  • # wildcard di Day-of-week bidang 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 bidang hari. Misalnya, tidak "3#1,6#3" valid karena ditafsirkan sebagai dua ekspresi.

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

Contoh

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

Menit Jam Hari bulan 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:

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

  • Semua eksekusi pekerjaan dengan status QUEUED akan tetap ada QUEUED sampai ter startTime jadinya jendela pemeliharaan berikutnya. Di jendela berikutnya, mereka dapat beralih ke IN_PROGRESS ketika 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 di JobExecutionsRetryConfig akan dilakukan di startTime jendela pemeliharaan berikutnya.

Gunakan konfigurasi ini untuk membuat kriteria untuk membatalkan pekerjaan ketika persentase ambang batas 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 pekerjaan mereka, 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 status ke AWS IoT.

  • Ketika TIMED_OUT status dilaporkan karena waktu eksekusi pekerjaan habis untuk persentase ambang batas 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 antri dan menghindari upaya percobaan ulang untuk eksekusi ini. Untuk informasi selengkapnya tentang konfigurasi coba ulang dan menggunakannya dengan konfigurasi batalkan, lihatBatas waktu eksekusi pekerjaan dan konfigurasi coba lagi.

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

Batas waktu eksekusi pekerjaan dan konfigurasi coba lagi

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

Gunakan konfigurasi batas waktu eksekusi pekerjaan untuk memberi tahu Anda setiap kali eksekusi pekerjaan macet dalam IN_PROGRESS status untuk jangka waktu yang tidak terduga lama. Ketika pekerjaan sudah selesaiIN_PROGRESS, Anda dapat memantau kemajuan pelaksanaan pekerjaan Anda.

Pengatur waktu untuk batas waktu pekerjaan

Ada dua jenis timer: timer dalam proses dan timer langkah.

In-progress pengatur waktu

Saat 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 pengatur waktu dimulai, itu tidak dapat diperbarui, dan nilai pengatur waktu 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 penghitung waktu langkah yang hanya berlaku untuk eksekusi pekerjaan yang ingin Anda perbarui. Timer ini tidak berpengaruh pada timer dalam proses. Setiap kali Anda memperbarui eksekusi pekerjaan, Anda dapat menetapkan nilai baru untuk pengatur waktu langkah. Anda juga dapat membuat penghitung waktu langkah baru saat memulai eksekusi pekerjaan tertunda berikutnya untuk suatu hal. Jika eksekusi pekerjaan tetap dalam IN_PROGRESS status lebih lama dari interval timer langkah, itu gagal dan beralih ke TIMED_OUT status terminal.

catatan

Anda dapat mengatur timer dalam proses dengan menggunakan AWS IoT konsol atau AWS IoT Jobs API. Untuk menentukan timer langkah, gunakan API.

Cara kerja timer untuk batas waktu pekerjaan

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

Garis waktu yang menunjukkan timer dalam proses selama 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 dalam proses mulai berjalan dan eksekusi pekerjaan beralih ke IN_PROGRESS status.

  2. 12:05 SORE

    Timer langkah baru dengan nilai 7 menit dibuat. Waktu eksekusi pekerjaan sekarang akan habis pada pukul 12:12.

  3. 12:10 SORE

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

  4. 12:13 SORE

    Timer langkah baru dengan nilai 9 menit dibuat. Timer langkah sebelumnya dibuang dan waktu eksekusi pekerjaan sekarang akan habis pada pukul 12:20 karena waktu timer dalam proses 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 lagi eksekusi pekerjaan ketika serangkaian kriteria tertentu terpenuhi. Coba lagi dapat dicoba ketika waktu kerja habis atau ketika perangkat gagal. Untuk mencoba lagi eksekusi karena kegagalan batas waktu, Anda harus mengaktifkan konfigurasi batas waktu.

Cara menggunakan konfigurasi coba lagi

Gunakan langkah-langkah berikut untuk mencoba lagi konfigurasi:

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

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

  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 ulang berhenti secara otomatis ketika eksekusi berhasil atau ketika mencapai jumlah upaya yang ditentukan.

  4. Tambahkan konfigurasi pembatalan untuk membatalkan pekerjaan jika terjadi kegagalan percobaan ulang berulang untuk menghindari biaya tambahan yang timbul dengan sejumlah besar upaya percobaan ulang.

catatan

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

Coba lagi dan batalkan konfigurasi

Setiap upaya coba lagi dikenakan biaya tambahan kepada Anda. Akun AWS Untuk menghindari biaya tambahan akibat kegagalan percobaan ulang berulang, sebaiknya tambahkan konfigurasi batalkan. 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 habis waktu atau melaporkan kegagalan. Dalam hal ini, Anda dapat menggunakan konfigurasi batalkan untuk membatalkan pekerjaan dan menghindari eksekusi pekerjaan yang mengantri atau upaya coba lagi lebih lanjut.

catatan

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

Sebelum mencoba lagi eksekusi pekerjaan yang gagal, sebaiknya periksa apakah kegagalan eksekusi pekerjaan dapat dicoba ulang, seperti yang dijelaskan di bagian berikut.

Coba lagi untuk jenis kegagalan GAGAL

Untuk mencoba percobaan ulang untuk jenis kegagalanFAILED, perangkat Anda harus diprogram untuk melaporkan FAILURE status eksekusi pekerjaan yang gagal ke AWS IoT. Tetapkan konfigurasi coba ulang 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 lagi eksekusi pekerjaan untuk perangkat. Percobaan ulang berlanjut sampai eksekusi pekerjaan berhasil atau ketika mencapai jumlah maksimum upaya percobaan ulang.

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

Kegagalan yang dapat dicoba ulang dan tidak dapat dicoba ulang

Kegagalan eksekusi pekerjaan Anda dapat dicoba ulang atau tidak dapat dicoba ulang. Setiap upaya coba lagi dapat dikenakan biaya kepada Anda. Akun AWS Untuk menghindari timbulnya biaya tambahan dari beberapa kali percobaan ulang, pertimbangkan terlebih dahulu untuk memeriksa apakah kegagalan eksekusi pekerjaan Anda dapat dicoba ulang. Contoh kegagalan yang dapat dicoba ulang termasuk 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 eksekusi lagiFAILED.

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 status ke. REJECTED AWS IoT Contoh kegagalan yang tidak dapat dicoba ulang termasuk ketika perangkat Anda tidak kompatibel untuk menerima pembaruan pekerjaan, atau ketika mengalami kesalahan memori saat menjalankan pekerjaan. Dalam kasus ini, AWS IoT Jobs tidak akan mencoba lagi eksekusi pekerjaan karena ia mencoba lagi eksekusi pekerjaan hanya ketika mendeteksi status FAILED atauTIMED_OUT.

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

catatan

Ketika pekerjaan dengan konfigurasi penjadwalan opsional mencapaiendTime, pekerjaan 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 ulang.

Coba lagi untuk tipe kegagalan TIMEOUT

Jika Anda mengaktifkan batas waktu saat membuat pekerjaan, AWS IoT Jobs akan mencoba untuk mencoba lagi eksekusi pekerjaan untuk perangkat saat status berubah dari IN_PROGRESS menjadi. TIMED_OUT Perubahan status ini dapat terjadi ketika waktu timer dalam proses 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 percobaan ulang untuk jenis kegagalan ini.

Pekerjaan berkelanjutan dan pembaruan keanggotaan grup hal

Untuk pekerjaan berkelanjutan yang memiliki status pekerjaan sebagaiIN_PROGRESS, jumlah upaya coba ulang diatur ulang ke nol saat ada pembaruan pada keanggotaan grup suatu benda. Misalnya, pertimbangkan bahwa Anda menentukan lima upaya percobaan ulang 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 ulang diatur ulang ke nol. Anda sekarang dapat melakukan lima percobaan ulang untuk grup hal Anda alih-alih dua upaya yang tersisa. Selain itu, ketika sesuatu dihapus dari grup benda, upaya coba ulang tambahan dibatalkan.