При первом запуске все прекрасно и быстро парсится, но как я понял, у меня создается множество подключений с тайм-аутом в 240 секунд, что не дает далее нормально спарсить данные повторно.
Тоесть указанный у вас код вызывается дважды, начиная от создания HttpClient, и заканчивая Dispose?
Или я неправильно понял?
1. А для запроса второй раз ты также создаёшь новый httpClient или переиспользуешь старый?
2. Вместо того чтобы руками заполнять массивы и использовать Task.WhenAll - ты можешь использовать в некоторых местах Parallel и передавать ему лимит параллельных вызовов
3. Попробуй включить принудительный http2 - тогда у тебя должно активнее переиспользовать соединения.
4. Добавь ещё ограничение параллельных запросов:
var socketsHttpHandler = new SocketsHttpHandler()
{
MaxConnectionsPerServer = 16
};
var httpClient = new HttpClient(socketsHttpHandler);
У тебя на последней строке обращение к полю url идёт через стрелочку - тоесть как-будто obj - это указатель на структуру.
Хотя у тебя вот выше переменная с таким именем лежит.
TeGusta, с каким именно из шагов проблема?:
1. Выполнить какое-либо действие (в какой именно момент? При переходе в другое состояние или при получении сообщения, когда уже в каком-то определённом состоянии находишься?)
2. Перевести дату в строку или число
3. Написать запрос с INSERT и параметром
4. Выполнить этот sql-запрос
TeGusta, что именно? и в чём проблема с "всунуть в бота"?
Ты на каждую проблему от незнания будешь вопрос сюда задавать?
Иди лучше Python и SQL свой отдельно от ботов поизучай - тебе явно базовых знаний не хватает.
Это всё равно что спрашивать "как решить интегральное уравнение" не зная арифметику.
Тоесть указанный у вас код вызывается дважды, начиная от создания HttpClient, и заканчивая Dispose?
Или я неправильно понял?