Разделы · Код и программные интерфейсы
Спрошу до того, как напишу лишнего.
Логи пишу в файл, разбираю потом отдельно. Пишу на питоне, обвязка своя, библиотек минимум. Состояние прогона храню в файле, чтобы продолжать после обрыва.
Готов сам проверить, скажите только что.
Поправлю: дело в темпе, объём тут вторичен.
Таймаут ставьте всегда и на соединение, и на чтение. Без него один зависший запрос держит поток часами.
Считайте статистику прямо во время прогона. Узнать о провале в конце восьмичасового прогона обидно.
async with aiohttp.ClientSession() as s:
for i in range(3):
try:
r = await s.get(url, proxy=adres, timeout=30)
break
except Exception:
await asyncio.sleep(2 ** i)Разбейте задачу на части.
Один замер стоит десяти рассуждений.
Сохраняйте сырое, пересчитать успеете.
Соглашусь, хотя пришёл к этому через неприятность.
Состояние прогона храните построчно. Один кусок в конце вас не спасёт. Тогда обрыв на девяностом проценте не стоит вам всего прогона.
Число одновременных задач подбирайте замером. На глаз тут промахиваются всегда. Обычно кривая выходит на полку, и дальше растёт только число отказов.
Опишу свой случай, вдруг совпадёт.
Число одновременных задач подбирайте замером. На глаз тут промахиваются всегда. Обычно кривая выходит на полку, и дальше растёт только число отказов.
Считайте на адрес. Общая цифра по прогону вводит в заблуждение.
Набор новых участников сейчас приостановлен. Читать форум можно без учётной записи, все темы открыты.
Когда набор откроют, объявление появится в разделе с короткими вопросами.
Форма работает в браузере и никуда ничего не отправляет.