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.
Topik
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 AbortConfig
objek.
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. startTime
Harus 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
. endTime
Harus 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_ROLLOUT
menghentikan peluncuran dokumen pekerjaan ke semua perangkat yang tersisa dalam kelompok sasaran untuk pekerjaan itu. Selain itu, semuaQUEUED
dan eksekusiIN_PROGRESS
pekerjaan akan berlanjut sampai mereka mencapai status terminal. Ini adalah perilaku akhir default kecuali Anda memilihCANCEL
atauFORCE_CANCEL
.
-
-
CANCEL
-
CANCEL
menghentikan peluncuran dokumen pekerjaan ke semua perangkat yang tersisa dalam kelompok sasaran untuk pekerjaan itu. Selain itu, semua eksekusiQUEUED
pekerjaan akan dibatalkan sementara semua eksekusiIN_PROGRESS
pekerjaan akan berlanjut hingga mencapai status terminal.
-
-
FORCE_CANCEL
-
FORCE_CANCEL
menghentikan peluncuran dokumen pekerjaan ke semua perangkat yang tersisa dalam kelompok sasaran untuk pekerjaan itu. Selain itu, semua eksekusiQUEUED
danIN_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:
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.
-
W
Wildcard 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 adaQUEUED
sampai jendelastartTime
pemeliharaan berikutnya terjadi. Di jendela berikutnya, mereka dapat beralih keIN_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 dalamJobExecutionsRetryConfig
akan dilakukan distartTime
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.
Berikut ini menunjukkan langkah-langkah yang berbeda:
-
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. -
12:05PM
Timer langkah baru dengan nilai 7 menit dibuat. Pelaksanaan pekerjaan sekarang akan habis pada 12:12 PM.
-
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.
-
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:
-
Tentukan apakah akan menggunakan konfigurasi coba lagi untuk
FAILED
,TIMED_OUT
, atau kedua kriteria kegagalan. Untuk
status, setelah status dilaporkan, AWS IoT Jobs secara otomatis mencoba ulang eksekusi pekerjaan untuk perangkat.TIMED_OUT
-
Untuk
FAILED
status, periksa apakah kegagalan eksekusi pekerjaan Anda dapat dicoba ulang. Jika dapat dicoba ulang, program perangkat Anda untuk melaporkanFAILURE
statusnya. AWS IoT Bagian berikut menjelaskan lebih lanjut tentang kegagalan yang dapat dicoba ulang dan tidak dapat dicoba kembali. -
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.
-
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.