Ivan Yakushenko, да, async/await я вам ещё и не рекомендовал :) Это еще вариант.
А так самый простой Celery, который берет на себя всю работу по жизни порождаемого воркера
Скорее всего убить корректно поток не получится, т.к. они у вас "повисают" на ожидании ответа и вы не предусмотрели таймаута ожидания.
есть какая-то возможность задавать время жизни потока
У вас там бесконечный цикл? Вот и считайте там прошедшее время. Когда насчитаете нужное (час прошёл, например) - выходите из цикла. Пришёл запрос в поток - сбрасывайте счётчик жизни потока, пусть ещё поживет.
TAnonim, да, все так. Один контейнер - 1 сервис. Ваше приложение, так же сервис. Но оно не работает без php, поэтому берете за основу php-fpm контейнер и надстраиваете свой. По возможности все зависимости проекта ставятся в первую очередь, а код проекта копируется в контейнере как можно позже. Таким образом можно будет использовать кеширование слоев докера при пересборках. Локальный докерфайла может отличаться от продового - с целью ускорения сборки можно пренебречь размерами контейнера и написать туда все необходимые зависимости, как для сборки, так и для работы приложения.
Nik, прочтите уже документацию по Микротик.
нужно модифицировать строку со временем. Это пример модификации строки даты.
pick вырезает из строки подстроки в указанном диапазоне для последующей склейки через правильный символ.
На свитче настроил DHCP-helper, чтобы машины в новой vlan получали динамические IP-адреса от общего для этих двух vlan DHCP-сервера.
Ну вот зачем вы сперва делите на vlan, а потом снова всех в один широковещательный диапазон запихнули? Вы же не получили никакой изоляции по vlan и гоняет все равно всех по L2
Хм. А почему бы просто не использовать Jenkins? Откат как таковой не слишком необходим - равносильно выкатке более старой версии. Для удобства подтягивать список релизов из nexus, деплоить по кнопке и ограничить доступность кнопки определенным кругом лиц, отмечать в каждом билде Jenkins версию раскатанного ПО.
result = {}
result["data1"] = ""
result["data2"] = ""
По фантому не подскажу. Всегда использовали Chrome/Mozilla. Если хочется в множество потоков и использоваться будет регулярно, то есть всякие штуки вроде https://aerokube.com/ , которые могут запускать и управлять множеством контейнеров с браузерами
Ну, можно много варивнт в зависмости от того, какой конечный результат вам нужен. Можно амнсто ссылки просто пронумеровать, можно selenium_result из моего примера сделать не словарем, а списком, тогда в результате будет json-массив, как и исходный json
Возможно, вы слишком много файлами хлопаете, т.к. 5% может указывать на ограничение ввода-вывода.
А так - проведите профилирование, проверьте где и на что столько времени уходит.
А так самый простой Celery, который берет на себя всю работу по жизни порождаемого воркера
Скорее всего убить корректно поток не получится, т.к. они у вас "повисают" на ожидании ответа и вы не предусмотрели таймаута ожидания.