Ответы пользователя по тегу Асинхронное программирование
  • Как заупстить асинхронный цикл вне основного потока?

    @nedland
    Может за ответ и не пойдет, но если тебе нужно, чтобы каждые 10 секунд выполнялась асинхронная функция, то я бы это делал с помощью asyncio

    import asyncio
    
    async def example():
        while True:
    
            #ТУТ ВЫПОЛНЯЙ ЛЮБЫЕ ДЕЙСТВИЯ, КОТОРЫЕ БУДУТ ПОВТОРЯТСЯ В ЗАДАНОМ ИНТЕРВАЛЕ (интервал ниже)
    
            await asyncio.sleep(10) #10 СЕКУНД 
    
    if __name__ == '__main__':
        loop = asyncio.get_event_loop()
        loop.create_task(example())


    Работает самостоятельно, как ты говоришь "вне основного цикла"
    Ответ написан
    Комментировать
  • Aiogram python как сделать, чтобы значение прибавлялось?

    @nedland
    Чтобы функция запустилась, её нужно вызвать. Предположу, что из-за этого и ошибок нет (либо вызовете её там, где нужно, а не при запуске бота)
    if __name__ == '__main__':
        profit()

    А т.к. она у вас засыпает, нужно её будить, поэтому добавляем
    if __name__ == '__main__':
     loop = asyncio.get_event_loop()
     loop.create_task(profit())

    Опять же не видел логики всей скрипта вашего. Когда и зачем запускается функция профит. В некоторых случаях, все, что я написал - неактуально (например нужно вызвать колбэком)
    Когда уже сделаете то, что написал выше - появятся ошибки. Как-то так
    Ответ написан