Сейчас telegram client хранится в глобальной переменной и при работе с одним процессом все работает.
При запуске через uWSGI при 10-ти воркерах это глобальная переменная остается только в одном из них.
Как правильно сделать, чтобы переменная с сессией была доступна на всех воркерах?
Пример получения клиента
from telethon.sync import TelegramClient
api_id = None
api_hash = None
username = None
client = None
started = False
def startTelegram():
global started
if started:
return
global api_id
global api_hash
global username
config = configparser.ConfigParser()
dir = os.path.dirname(os.path.abspath(__file__))
config.read(dir + "/config.ini")
api_id = int(config['Telegram']['api_id'])
api_hash = config['Telegram']['api_hash']
username = config['Telegram']['username']
async def __start():
global client
global started
client = TelegramClient(username, api_id, api_hash)
client.start()
started = True
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.run_until_complete(__start())