Puncte:1

Conversia foarte lentă a vars-ului gazdă în fișierul env cu ansible

drapel cn

Am următoarea sarcină în ansible:

- nume: Set env vars
  lineinfile:
    cale: "~/.env"
    Mod: 0600
    creați: da
    rând: „{{ item.key|upper }}=\"{{ item.value }}\""
    regexp: "^{{ item.key|upper }}="
  buclă: „{{ env_file |dict2items }}”

Se creează .env fișier linie cu linie, dar este cu adevărat lent. Există o cale mai bună?

Fișierul .yml arată astfel:

env_file:
  cheia1: „valoarea1”
  cheia2: „valoare2”

Fișierul rezultat are formatul:

KEY1="valoare1"
KEY2="valoare2"

Procesarea fiecărei linii durează aproximativ 20 de secunde și se adună cu adevărat.

drapel br
Foarte probabil că este ceva în neregulă cu conexiunea. Pentru a fi sigur, încercați aceeași sarcină local (- hosts: localhost).
drapel cn
@VladimirBotka Înclin să fiu de acord, sau a fost un fel de scurgere de memorie pentru că mi-am repornit IDE-ul și întregul proces s-a accelerat considerabil. Totuși, soluția lui A. Darwin este bună și o folosesc și eu.
Puncte:0
drapel my

Încercați să utilizați șablon modul și scrierea unui fișier Jinja2. Tinde să fie mai rapid decât lineinfile când se ocupă de bucle.

drapel cn
Mulțumesc, pentru beneficiul altora, fișierul jinja2 ar trebui să arate astfel: ` {% pentru k, v în env_file.items() %} {{ k | upper }}="{{ v }}" {% endfor %} ` (adăugați întreruperi de linie corespunzătoare)

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.