Ansible Academy · Pelajaran

Bila Handler Berjalan & flush_handlers

Kawal masa handler dijalankan pada akhir play.

Pelajaran 3 daripada 413 langkah

Bila Handler Berjalan & flush_handlers ialah pelajaran Ansible Academy percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Ansible Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Ansible Academy merangkumi sejumlah 4 pelajaran.

Pengendali Berjalan pada Penghujung

Secara lalai, semua pengendali yang diberitahu berjalan sekali pada penghujung pelaksanaan, selepas setiap tugas selesai. Bukan pada saat ia diberitahu.

Mengapa Menangguhkannya?

Penangguhan bermakna perkhidmatan dimulakan semula sekali walaupun selepas banyak perubahan konfigurasi. Ini mengelakkan mula semula yang tidak diperlukan di tengah-tengah pelaksanaan dan menjimatkan masa.

Setiap Hos, Bukan Global

Masa pengendali dijejak bagi setiap hos. Setiap hos menjalankan pengendalinya sendiri yang berada dalam baris gilir pada penghujung pelaksanaan, tanpa bergantung pada hos lain.

Masalah Mula Semula Lewat

Kadang-kadang tugas seterusnya memerlukan perkhidmatan sudah dimulakan semula. Menunggu sehingga penghujung pelaksanaan sudah terlambat, jadi anda perlu mengosongkan baris gilir lebih awal.

Kenali flush_handlers

Tugas meta flush_handlers memaksa semua pengendali yang menunggu untuk berjalan sekarang juga, di tengah-tengah pelaksanaan.

- name: Run queued handlers now
  ansible.builtin.meta: flush_handlers

Ia Ialah Tugas meta

flush_handlers ialah tindakan khas meta yang mengawal Ansible sendiri, bukannya menyentuh hos jauh.

Kegunaan Biasa

Ubah konfigurasi, kosongkan baris gilir supaya perkhidmatan dimulakan semula, kemudian jalankan tugas ujian asap terhadap perkhidmatan yang baru dimulakan semula itu.

- name: Update config
  ansible.builtin.template:
    src: app.j2
    dest: /etc/app.conf
  notify: Restart app
- ansible.builtin.meta: flush_handlers
- name: Check health
  ansible.builtin.uri:
    url: http://localhost/health

Kegagalan dan Pengendali

Jika hos gagal sebelum penghujung pelaksanaan, pengendali yang menunggu biasanya tidak akan berjalan. Itulah salah satu sebab pengosongan baris gilir lebih awal boleh menjadi lebih selamat.

force_handlers sebagai Jaring Keselamatan

Tetapkan force_handlers kepada true pada sesuatu pelaksanaan untuk menjalankan pengendali yang berada dalam baris gilir walaupun hos gagal kemudian. Berguna untuk mula semula bagi tujuan pembersihan.

- hosts: web
  force_handlers: true
  tasks:
    - ...

Kosongkan Baris Gilir Secara Berhemat

Gunakan flush_handlers hanya apabila urutan benar-benar memerlukannya. Penggunaan berlebihan menghapuskan manfaat pengelompokan yang diberikan oleh pengendali.

Garis Masa

Tugas berjalan dari atas ke bawah, pengendali menunggu dalam baris gilir, kemudian semuanya dicetuskan pada penghujung pelaksanaan kecuali anda mengosongkannya lebih awal. ⏱️

Semakan Pantas

Anda mesti memulakan semula perkhidmatan di tengah-tengah pelaksanaan supaya tugas seterusnya boleh mengaksesnya. Apakah yang anda gunakan?

Imbas Kembali

Pengendali biasanya berjalan sekali pada penghujung pelaksanaan, bagi setiap hos. Gunakan flush_handlers untuk mencetuskannya lebih awal, dan force_handlers untuk memastikan ia berjalan walaupun berlaku kegagalan. 🚀

Percuma untuk bermula

Pelajari YAML dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Bila Handler Berjalan & flush_handlers” percuma?

Ya — teks penuh “Bila Handler Berjalan & flush_handlers” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Ansible Academy, tingkat taraf kepada CoddyKit PRO. Kursus Ansible Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Bila Handler Berjalan & flush_handlers”?

Kawal masa handler dijalankan pada akhir play. Anda berlatih Ansible Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Ansible Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Ansible Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Bila Handler Berjalan & flush_handlers” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Ansible Academy ini?

Ya. Setiap pelajaran Ansible Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Maklumkan Handler Apabila Berlaku Perubahan
  2. Mentakrifkan Handler & Corak Mulakan Semula
  3. Bila Handler Berjalan & flush_handlers
  4. Listen: Satu Pencetus, Banyak Handler
← Kembali ke Ansible Academy