Можно использовать вариант blockinfile (см. Пример ниже) или шаблон . Модуль lineinfile лучше всего работает с неструктурированными данными.
Это в первую очередь полезно, когда вы хотите изменить только одну строку в файле. ... проверьте blockinfile, если вы хотите вставить / обновить / удалить блок строк в файле. Для других случаев см. Модуль копирования или шаблона.
blockquote>- hosts: localhost gather_facts: no vars: ipsec_children_conf: - "control" - "hostname" tasks: - blockinfile: path : /root/multinode create: yes block: | [ipsec:children] {% for conf_item in ipsec_children_conf %} {{ conf_item }} {% endfor %} > cat /root/multinode # BEGIN ANSIBLE MANAGED BLOCK [ipsec:children] control hostname # END ANSIBLE MANAGED BLOCK
Утечка или использование ко многим объектам/дескрипторам GDI. Они могли вызвать нехватку "кучи" ресурса. Вы не смогли воспроизводить, потому что Ваши пользователи могли бы иметь другой ресурс GDI тяжелое выполнение программ или использовать Терминальный сервер, в этом случае, они должны совместно использовать часть "кучи" с другими пользователями. Посмотрите Системную ошибку. Код: 8. Недостаточно устройства хранения данных доступно для обработки этой команды
Здесь можно читать об инструменте Desktop Heap Monitor для диагностирования настольных проблем "кучи".
Ваша программа, вероятно, пропускает ресурсы ядра. Начните диагностировать эту проблему с Taskmgr.exe. Представление + Избранные Столбцы, проверьте Пользовательские объекты, объекты GDI и количество Дескриптора. Запустите свою программу и наблюдайте, увеличивается ли какой-либо из них постоянно. После того как один из них достигает, 10 000 Ваших программ умрут.
Со способом быстро видеть утечку в действии, можно начать комментировать код для наблюдения, где утечка происходит. Это, вероятно, имеет некоторое отношение к Вашему "рычагу".