Sobes.tech
Junior — Middle

Ինչպե՞ս կարելի է արդիականացնել Ansible-ում առաջադրանքների կատարմանը՝ դրանք միաժամանակ մի քանի հոստում գործարկելու փոխարեն՝ փոխարենը հերթական կատարման:

sobes.tech AI

Պատասխան AI-ից

Ansible-ում ըստ նախնական կարգավորումների, առաջադրանքները կատարվում են միաժամանակ մի քանի հոստում, բայց մեկ հոստում՝ հերթական։ Եթե ցանկանում եք միաժամանակ մի քանի առաջադրանք սկսել մեկ հոստում, կարող եք օգտագործել async մոդուլը և poll պարամետրը:

Օրինակ՝ երկարաժամկետ առաջադրանքի ասինխրոն մեկնարկը՝

- name: Հետաձգվող առաջադրանքը սկսեք ասինխրոն
  command: /path/to/long_task.sh
  async: 3600       # առավելագույն կատարման ժամանակ՝ վայրկյաններով
  poll: 0           # սպասել չպետք է առաջադրանքի ավարտին

Այսպիսով, դուք կարող եք սկսել առաջադրանքը և անմիջապես անցնել հաջորդին՝ սպասելու առանց։

Եթե խոսքը վերաբերում է տարբեր հոստերում միաժամանակ առաջադրանքներ կատարելու, դա Ansible-ի ստանդարտ վարքագիծն է, որը կարող եք կարգավորել forks պարամետրի միջոցով՝ ավելացնելով միաժամանակյա կապերի քանակը։

Օրինակ՝ միաժամանակյա կապերի քանակի կարգավորումը՝

[defaults]
forks = 20

Այսպիսով, միաժամանակ մի քանի հոստում առաջադրանքներ սկսելու համար, ավելացրեք forks-ը, իսկ մեկ հոստում միաժամանակ առաջադրանքներ կատարելու համար՝ օգտագործեք async և poll։