import asyncio
import aiomysql
import time
async def main():
async with aiomysql.connect(
host="51.8.6.129 ",
user="acmdan_acs",
password="F0qfdxR6BcQ",
db="acmdan_acs "
) as connection:
while True:
start_time = time.time()
# Veritabanı bağlantısını oluştur
async with connection.cursor() as cursor:
# SQL sorgusunu hazırla
sql = "SELECT ons, isim FROM bilgi"
# SQL sorgusunu çalıştır
await cursor.execute(sql)
# Sonuçları al
results = await cursor.fetchall()
# Sonuçları yazdır
for row in results:
ons = row[0]
isim = row[1]
print(f"Ağırlık: {ons}, İsim: {isim}")
await asyncio.sleep(1)
end_time = time.time()
elapsed_time = end_time - start_time
print(f"İşlem süresi: {elapsed_time} saniye")
# Her saniyede bir tekrarla
asyncio.run(main())pymysql kullandım sonuç yine aynı. Nerede hata yapıyorum yardımcı olabilir misiniz?
Python sürekli mysql sorgu yapma
9
●196
- 02-05-2024, 02:38:20Merhaba arkadaşlar amacım mysql bağlantısı kurup saniyede 1 kere veri çekmek ancak bu veriyi çekerken ilk sorguda açılan mysql bağlantısını kapatmadan 2. 3. 4. vs. sorgularda yeniden bağlantı kurmadan var olan bağlantı ile daha hızlı sorgu yapmak istiyorum. Aşağıdaki kodta veritabanındaki bilgi değiştiğinde kodun çalıştığı andaki verileri gösteriyor.
- 02-05-2024, 02:44:52Sanırım sorunu anladım. burada sonuç önbelleğe alınıyor. Bunu sunucu tarafında mı halletmeliyim yoksa bot tarafında mı?
- 02-05-2024, 02:50:08Eğer sürekli aynı yapılarda sorgular atıyorsanız, size daha farklı önerim olabilir.
küçük bir mikro servis yazın (örnek flask) ve MySql ile sürekli bağlı kalsın. Bu sayede çok daha hızlı sorgu atabilirsiniz ve daha az ram + ve cpu kullanırsınız. - 02-05-2024, 02:52:15teşekkür ederim. hemen araştırıyorum.osawashere adlı üyeden alıntı: mesajı görüntüle
- 02-05-2024, 02:54:22eğer veri sürekli değişmiyorsa değişkende vs tutman daha iyi olur sürekli db yi aç kapa et değişiklik olduğun da yapıyı ona göre ayarlarsan daha seri ve daha rahat edersin Bence tabi kodun tamamını bilmediğim için nerede ne için kullandığını ama değişkene listeye vs atarsan çok rahat edeibilirsin.
- 02-05-2024, 02:57:19Rica ederim,
fikir vermesi açısından aşağıdaki linke bakabilirsiniz.
https://medium.com/@connect.hashbloc...e-446f08722057
mehmetemin72 adlı üyeden alıntı: mesajı görüntüle - 02-05-2024, 03:27:45veri saniyelikte değişebiliyor 2 3 dakikada birde değişebiliyor. Benimde bunu saniyelik kontrol etmem gerekiyor. kodun kalan kısmı excele kayıt ve bildirim gönderme.Melihhh adlı üyeden alıntı: mesajı görüntüle
bende buraya bakıyordum. İlgilendiğiniz için teşekkür ederim. arkadaşlar.osawashere adlı üyeden alıntı: mesajı görüntüle - 02-05-2024, 03:48:12öncelikle sunucu bilgilerini kaldır istersen şimdi gördüm
DB ye gelen datayı sen yazıyorsan excele aktarmadan önce orada yakalayabilirsin demek istediğim sorgu atmana gerek kalmaz
onun doşında yapabileceğin while üstüne kurcorsu alırsın sürekli sorgunu attıyorırsın time sleep 1 koyarsın ama bu kadar önemliyse hız rowları da orada yaptırmaman lazım onları haric bir liste de tutup threading yazdırabilirsin birbirinden bağımsız. - 02-05-2024, 04:01:10Hocam veriyi yazan başka sunucuda yada bilgisayarda bir bot. socket ile veriyi göndermeye çalıştım ama yapamadım. Aklıma veritabanı geldi. Sizin önerebileceğiniz 2 sunucu arasında hızlı bir şekilde veriyi python ile taşıyabileceğim bir yöntem varsa yazarsanız memnuniyet duyarım.Melihhh adlı üyeden alıntı: mesajı görüntüle