python - Discord.py 立即调用任务
问题描述
我正在尝试将 API (Django/DRF) 添加到我的 discord.py 机器人。目前我最好的解决方案是从端点添加一个任务,然后返回 202。然后任务执行......最终。
Django Rest 框架 viewset.py`:
async def connect_client(self, request, client):
print('Connecting client...')
from discordbot import music_player
await music_player.connect()
@action(methods=['get'], detail=False)
def connect(self, request, pk=None):
from discordbot import client
client.loop.create_task(self.connect_client(request, client))
return Response(status=202)
这行得通,它确实完成了任务应该做的事情。但它何时执行似乎完全取决于事件循环轮询的速度。
该任务似乎是立即创建的,但运行需要 1 到 10 秒(似乎是随机的)。
我可以更改事件循环轮询的速度(每 500 毫秒或 1000 毫秒),还是让它创建一个任务并立即调用它?
解决方案
推荐阅读
- c - 为什么我不能通过设置 PWD 来设置当前工作目录
- node.js - Node.js mongoose 无法在 MongoDB 数据库上“保存()”文档
- python - 为什么在迭代集合时添加和删除集合时会得到这么多迭代?
- windows-10 - 虚拟机无法启动 VM VERR_INTNET_FLT_IF_NOT_FOUND
- java - 致命异常:android.app.RemoteServiceException Context.startForegroundService() 没有调用 Service.startForeground()
- c# - 使用 ASP.NET Core 设置 SustainSys SAML2
- java - Spring MVC + Thymeleaf 的国际化(i18n)
- laravel - 如何在faker laravel中选择1号和3号?
- javascript - 如何以编程方式单击按钮 - 也许是 Angular?
- c++ - C++ cin cout 到另一个 exe