Можно ли использовать объект vk_api в нескольких потоках?
Я пишу бота на vk_api через longpoll, и его функционал - это принимать сообщения с вложениями, скачивать их, обрабатывать, загружать обратно и отправлять в ответе. Я хочу распараллелить процесс обработки и скачки, но я не знаю как синхронизировать обращения в этой библиотеке и можно ли использовать объект сессии в нескольких потоках.
Скачивание вложений безопасно точно, потому что делается просто через get. Интересует, являются ли безопасными следующие операции:
- Загружать в вк можно только через объект vk_upload, создающийся от текущей vk_session, можно ли из нескольких потоков вызывать загрузку таким образом нескольких вложений?
- Касательно просто отправки и приема сообщений, в однопоточном варианте ответ бота отсылается в самом цикле for сразу после обработки связанного с ним события и до начала обработки следующего. В многопоточном варианте отправку я вызываю из одного отдельного потока, не связанного с этим циклом, но цикл при этом продолжает принимать сообщения, и это может происходить одновременно с отправкой, и тут синхронизировать это невозможно.
Не нарушат ли все эти действия какого-то внутреннего состояния объекта vk_api? Найти информацию об этом в документации vk_api и где либо еще не получилось.