如何解决Django ORM sync_to_async错误致命:剩余的连接插槽保留用于非复制超级用户连接
我正在尝试为Django ORM实现异步支持(https://docs.djangoproject.com/en/3.1/topics/async/),以便在数据库(Postgres)中写入许多记录。
我收到错误消息:root:致命:剩余的连接插槽保留用于非复制超级用户连接
我正在创建协程并将其添加到运行asyincio循环中
# Helper Class
class ModelsHelper:
@staticmethod
@sync_to_async
def __handle_resource_data(data):
// Some calculation to create kwargs dict
return Resource.objects.get_or_create(**kwargs)
async def store_data(metric):
// some calculation to get data
return await ModelsHelper.__handle_resource_data(data)
# Main File
def get_event_loop():
loop = None
try:
loop = asyncio.get_event_loop()
except Exception as e:
print(" New Event Loop ".center(50,'*'))
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
return loop
loop = get_event_loop()
future = asyncio.ensure_future(
asyncio.gather(*[ModelsHelper.store_data(metric) for metric in metrics]),loop=loop
)
loop.run_until_complete(future)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。