У меня есть асинхронная функция в Python 3.5, например:
async def get_pool():
if Cache.__current:
return Cache.__current
Cache.__current = await aioredis.create_redis_pool(
(settings.CACHE_SETTINGS['SERVER'], settings.CACHE_SETTINGS['PORT']),
minsize=settings.CACHE_SETTINGS['MIN_SIZE'],
maxsize=settings.CACHE_SETTINGS['MAX_SIZE'])
return Cache.__current
и периодическая задача сельдерея, которая вызывает функцию async get_pool () и выполняет операции над своими данными:
@app.task
def check_data_task():
cache = Cache.get_pool()
...
как и ожидалось. Эти коды выдают ошибку:
("'coroutine' object has no attribute XXX method'")
и сейчас самое время задавать вопросы:
- это хорошая идея использовать асинхронную функцию python взадача сельдерея?если да, то:
- как использовать функцию сопрограммы python в задаче сельдерея?