Closed PrzeG closed 3 weeks ago
Adds support for multithreading authentication, which allows for concurrent requests using the same auth.
from threading import Thread from catalystwan.session import ManagerSession from catalystwan.vmanage_auth import vManageAuth from copy import copy def print_devices(manager: ManagerSession): # using context manager (recommended) with manager.login() as session: print(session.api.devices.get()) if __name__ =="__main__": # 1. Create shared authentication handler for user session auth = vManageAuth(username="username", password="password") # 2. Configure session with base url and attach authentication handler manager = ManagerSession(base_url="https://url:port", auth=auth) # 3. Make sure each thread gets own copy of ManagerSession object t1 = Thread(target=print_devices, args=(manager,)) t2 = Thread(target=print_devices, args=(copy(manager),)) t3 = Thread(target=print_devices, args=(copy(manager),)) t1.start() t2.start() t3.start() t1.join() t2.join() t3.join() print("Done!")
Pull Request summary:
Adds support for multithreading authentication, which allows for concurrent requests using the same auth.
Usage example:
Checklist: