MBO писал(а):
Или http запрос тоже лучше не прерывать?Более важный вопрос: а зачем перед тем как запустить новый запрос, делать doAbort предыдущего (на одном и том же Hub)? То-есть, предполагается что если запрос не был завершен перед поступлением нового - то "ну его нафиг, поезд ушел, всё убиваем-отменяем и начинаем следующий запрос"? А если временно сеть просела или сервер немного дольше отвечал - результаты запроса неинтересны? Тогда для таких случаев есть свойства таймаутов.
А правильный способ беспрерывного (циклического) посылания запросов я выше указал. На каждой итерации Thread.onExec выбирается из списка/генерируется следующий запрос и выполняется. Можно применить и Thread.FastStop=True (однократное срабатывание onExec), но на выходе из потока ставится перебор списка (если таковой есть) с параметрами запроса, которые последовательно подаются на HTTPClient.
Кстати, если сделать doAbort, а потом сразу же попытаться запустить новый поток - то предыдущий может ещё не успеть завершиться и новый не будет запущен (при Thread.BusyEvent=Ignore). Вероятно, поэтому было применено Thread.BusyEvent=Restart. Что подтверждает неверную логику.