Include simultanious testing in status
All checks were successful
Build and Publish Jimmy.2 / build_and_publish (push) Successful in 7s
All checks were successful
Build and Publish Jimmy.2 / build_and_publish (push) Successful in 7s
This commit is contained in:
parent
899e9c84dd
commit
b70016326a
1 changed files with 16 additions and 10 deletions
|
@ -978,20 +978,26 @@ class Ollama(commands.Cog):
|
||||||
|
|
||||||
msg = await ctx.reply(embed=embed)
|
msg = await ctx.reply(embed=embed)
|
||||||
last_edit = time.time()
|
last_edit = time.time()
|
||||||
|
|
||||||
|
tasks = {}
|
||||||
for server in self.servers.keys():
|
for server in self.servers.keys():
|
||||||
if self.servers[server].locked():
|
if self.servers[server].locked():
|
||||||
continue
|
continue
|
||||||
try:
|
tasks[server] = asyncio.create_task(self.check_server(CONFIG["ollama"][server]["base_url"]))
|
||||||
ok = await self.check_server(CONFIG["ollama"][server]["base_url"])
|
|
||||||
except Exception as e:
|
await asyncio.gather(*tasks.values())
|
||||||
ok = False
|
for server, task in tasks.items():
|
||||||
|
if not task.done:
|
||||||
|
await task
|
||||||
|
if e := task.exception():
|
||||||
self.log.error("Error while checking server %r: %r", server, e, exc_info=True)
|
self.log.error("Error while checking server %r: %r", server, e, exc_info=True)
|
||||||
for field in embed.fields:
|
else:
|
||||||
if field.name == server:
|
ok = task.result()
|
||||||
field.value = "\U00002705 Online" if ok else "\U0000274c Offline"
|
for field in embed.fields:
|
||||||
break
|
if field.name == server:
|
||||||
await asyncio.sleep(1 - (time.time() - last_edit))
|
field.value = "\U00002705 Online" if ok else "\U0000274c Offline"
|
||||||
await msg.edit(embed=embed)
|
break
|
||||||
|
await msg.edit(embed=embed)
|
||||||
|
|
||||||
|
|
||||||
def setup(bot):
|
def setup(bot):
|
||||||
|
|
Loading…
Reference in a new issue