Python işlem neden bu kadar geç gerçekleşiyor

merhaba, tkinter üzerinden bi menü yaptım ve test message butonuna tıkladıgımda test() isimli fonksiyonu çalıştırıyor oda test2() fonkisiyonunu gerçekleştiriyor ama fonksiyonun gerçekleşmesi 10 saniye sonra bitiyor ve print mesajını ekrana basıyor neden bu kadar uzun sürüyor anlamış degilim araştırdım ama bulamadım bilen varsa yardımcı olursa sevinirim.

import discord
import asyncio
from tkinter import *
import tkinter as tk
from threading import Thread

TOKEN = "token"


client = discord.Client()

@client.event
async def on_ready():
    print('Logged in as')
    print(client.user.name)
    print(client.user.id)
    print('------')
    channel = client.get_channel(688410519946002558)
    await channel.send('Bot is online!')

async def test2():
    print("successful!")
    channel = client.get_channel(688410519946002558)
    await channel.send('Test MSG!')

def test():
    client.loop.create_task(test2())

def start_bot():
    client.run(TOKEN)

if __name__ == '__main__':
    frame = Tk()
    b1 = Button(frame, text="Test MSG",command=test).pack()
    b2 = Button(frame, text="Start BOT",command=lambda:Thread(target=start_bot).start()).pack()
    frame.mainloop()

Bu komut ne yapıyor?

async def test2(): fonksiyonunu çalıştırıyor

Şunu deneyebilir misiniz, ekrana yazı doğru zamanda mı yazılacak:

def test():
    print("test fonksiyonu çalıştı.")
    client.loop.create_task(test2())

test fonksiyonundaki print anlık olarak gerçekleşiyor problem test2() fonksiyonunun bu kadar geç gerçekleşmesi

Demek ki asıl olay bu komutun ne yaptığı.

ilginç bi şekilde sadece tkinter üzerinden işlem yaptıgımda bu kadar fazla bekletiyor normal bir biçimde örnegin bot aktif oldugunda koşulun altına ekledigimde anlık tepkime veriyor çözemedim bu işi :smiley:

Bana botu çalıştıran komut buymuş gibi geliyor, bunu test fonksiyonuna bir Thread olarak koymayı deneyebilirsiniz.