Merge pull request #23 from QuasarApp/fix_freaze
All checks were successful
buildbot/DocsGenerator Build finished.
buildbot/LinuxCMakeBuilderQt6 Build finished.

Added timeout for network requests
This commit is contained in:
Andrei Yankovich 2025-05-01 10:00:07 +02:00 committed by GitHub
commit 81e7cc49ee
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -17,6 +17,8 @@ namespace qTbot {
IBot::IBot() { IBot::IBot() {
_manager = new QNetworkAccessManager(); _manager = new QNetworkAccessManager();
_manager->setAutoDeleteReplies(true); _manager->setAutoDeleteReplies(true);
_manager->setTransferTimeout(60000); // one minute
_requestExecutor = new QTimer(this); _requestExecutor = new QTimer(this);
_requestExecutor->setInterval(1000 / 20); // 20 times per second. _requestExecutor->setInterval(1000 / 20); // 20 times per second.
@ -118,6 +120,7 @@ void IBot::setCurrentParallelActiveNetworkThreads(int newParallelActiveNetworkTh
bool wasBusy = _currentParallelActiveNetworkThreads == _parallelActiveNetworkThreads; bool wasBusy = _currentParallelActiveNetworkThreads == _parallelActiveNetworkThreads;
static bool lastMessageWasFree = false; static bool lastMessageWasFree = false;
_currentParallelActiveNetworkThreads = newParallelActiveNetworkThreads; _currentParallelActiveNetworkThreads = newParallelActiveNetworkThreads;
if (_currentParallelActiveNetworkThreads == _parallelActiveNetworkThreads) { if (_currentParallelActiveNetworkThreads == _parallelActiveNetworkThreads) {