হ্যান্ডলারগুলি হ'ল কার্যগুলির তালিকাগুলি, নিয়মিত কর্মের চেয়ে কোনও আলাদা নয়, যা বিশ্বব্যাপী অনন্য নাম দ্বারা উল্লেখ করা হয় এবং বিজ্ঞপ্তিদাতাদের দ্বারা বিজ্ঞপ্তি দেওয়া হয়। যদি কোনও হ্যান্ডলারকে কিছু না জানায় তবে তা চলবে না। কোনও হ্যান্ডলারকে কতগুলি কাজই অবহিত করুন না কেন, এটি নির্দিষ্ট খেলায় সমস্ত টাস্ক সম্পূর্ণ করার পরে, এটি একবারে চলবে। জবাবদিহি ডক
1) হ্যান্ডলারগুলি যা একই জিনিস করে তাদের নাম দেওয়া উচিত।
restart nginxসর্বদা nginx পুনরায় আরম্ভ, না handler1এবংhandler2
2) হ্যান্ডলারগুলি আপনার বিভাগগুলিতে পুরো "প্লে" প্লেয়ের শেষে শেষ হয়।
3) আমি পুনরায় আরম্ভ হওয়া উচিত এমন কাজের জন্য আমি registerএবং whenফাংশনগুলি ব্যবহার করব, নোট করুন যে এই ভার্সনটি আপনার সাথে বহন করা উচিত।
কোড উত্স
PLAY [localhost] ***************************************************************
TASK [debug] *******************************************************************
ok: [localhost] => {
"msg": "Play 1"
}
TASK [role1 : Always true in role1] ********************************************
changed: [localhost]
TASK [role1 : Always true in role1] ********************************************
changed: [localhost]
TASK [role1 : Always true in role1] ********************************************
changed: [localhost]
TASK [role1 : Always true in role1] ********************************************
changed: [localhost]
TASK [role1 : Always true in role1] ********************************************
changed: [localhost]
TASK [role2 : Run if change in task c of role 1] *******************************
changed: [localhost]
TASK [role2 : Always true in role2] ********************************************
changed: [localhost]
TASK [debug] *******************************************************************
ok: [localhost] => {
"msg": "This is a task in a play"
}
RUNNING HANDLER [role1 : handler] **********************************************
ok: [localhost] => {
"msg": "This is a handler in role1"
}
PLAY [localhost] ***************************************************************
TASK [debug] *******************************************************************
ok: [localhost] => {
"msg": "Play 2"
}
TASK [role1 : Always true in role1] ********************************************
changed: [localhost]
TASK [role1 : Always true in role1] ********************************************
changed: [localhost]
TASK [role1 : Always true in role1] ********************************************
changed: [localhost]
TASK [role1 : Always true in role1] ********************************************
changed: [localhost]
TASK [role1 : Always true in role1] ********************************************
changed: [localhost]
TASK [role2 : Run if change in task c of role 1] *******************************
changed: [localhost]
TASK [role2 : Always true in role2] ********************************************
changed: [localhost]
TASK [debug] *******************************************************************
ok: [localhost] => {
"msg": "This is a task in a play"
}
RUNNING HANDLER [role1 : handler] **********************************************
ok: [localhost] => {
"msg": "This is a handler in role1"
}
PLAY RECAP *********************************************************************
localhost : ok=20 changed=14 unreachable=0 failed=0
একই কাজ করার জন্য প্রচুর উপায়। হ্যান্ডলারগুলি একই প্রক্রিয়াটিকে একাধিকবার পুনঃসূচনা প্রতিরোধ করার জন্য ডিজাইন করা হয়েছিল, যেমন একটি এনজিএনএক্স সার্ভারে একাধিক পরিবর্তন যার মধ্যে ওয়েবসাইট রয়েছে, এসএসএল শংসাপত্রগুলি এবং পরিষেবাগুলি পুনরায় চালু করার দরকার আছে এমন অন্যান্য কার্যগুলি।