• 13-05-2024, 02:24:57
    #1
    Merhaba arkadaşlar. Elimde aşağıdaki gibi main fonksiyonu var. Ben bu main fonksiyonunun BİR SANİYE arayla 2 defa yada 3 defa çalışmasını istiyorum. (İlk Main fonksiyonunun sonucu işlemi içeriği bizi hiç ilgilendirmiyor isterse 50 saniye sürsün isterse saliseler içindi bitsin isterse bağlantı başarısız olsun) NE yaptım ne denediysem ilk işlem bitmeden ikinci işlemi başlatmadı. Amacım mantığını kavramak yoksa denediğim kod bu değil. phind pro üyelik aldım olmadı chatgpt ye sordum olmadı onların verdiği 10dan fazla farklı kodu denedim farklı farklı promptlar denedim ama nafile....Rica etsem nerede hata yaptığımı söyleyebilir misiniz?

    import aiohttp
    import asyncio
    from datetime import datetime
    
    
    async def main():
        
        print("aiohttp Time:", datetime.now())
        async with aiohttp.ClientSession() as session:
            
            async with session.get('https://api.ipify.org?format=json') as response:
                
                data = await response.json()
                await asyncio.sleep(5)
                print("IP adresi:", data)
                await asyncio.sleep(5)
                print(data)
                return data['ip']
    async def run_main():
        await main()
        await asyncio.sleep(1)  # 1 saniye bekle
        await main()
    
    
    asyncio.run(run_main())
  • 13-05-2024, 02:27:43
    #2
    from requests import get

    ip = get('https://api.ipify.org').text
    print('My public IP address is: {}'.format(ip))
  • 13-05-2024, 02:31:10
    #3
    Melihhh adlı üyeden alıntı: mesajı görüntüle
    from requests import get

    ip = get('https://api.ipify.org').text
    print('My public IP address is: {}'.format(ip))
    Hocam bu kod nasıl 2 defa birbirinden bağımsız bir şekilde çalışıyor.
  • 13-05-2024, 02:32:07
    #4
    mehmetemin72 adlı üyeden alıntı: mesajı görüntüle
    Hocam bu kod nasıl 2 defa birbirinden bağımsız bir şekilde çalışıyor.
    tam anlamadım demek istediğini
  • 13-05-2024, 02:35:28
    #5
    Melihhh adlı üyeden alıntı: mesajı görüntüle
    from requests import get

    ip = get('https://api.ipify.org').text
    print('My public IP address is: {}'.format(ip))
    Örnek veriyorum. Sizin yazdığınız bu kodu Python ile aynı anda birbirinden bağımsız bir şekilde çalıştırmak istiyorum. Yani get işlemini 2 defa yapmak istiyorum ama 2. Sorgu için 1. Sorgunun bitmesini beklemeden.
  • 13-05-2024, 02:36:20
    #6
    zaten i ksii ortalama 1 saniye sürecek beklemen çok bir fark etmez ki ?
  • 13-05-2024, 02:39:11
    #7
    Melihhh adlı üyeden alıntı: mesajı görüntüle
    zaten i ksii ortalama 1 saniye sürecek beklemen çok bir fark etmez ki ?
    Hocam ilk mesajda yazdım üstünde çalıştığım asıl kod bu değil amacım mantığını öğrenmek ve doğru kodu bulmak. Benim üstünde çalıştığım kod 10 saniye sürüyor.
  • 13-05-2024, 02:41:57
    #8
    python threading sistemi varda o biraz karışık

    1 tane yap 2 farklı exe çalıştır dilersen kodun üst kısmını bilmediğim için yada aklında kini bilmediğimden net bir şey demek zor threading sistemine de bakaiblirsin dilersen.
  • 13-05-2024, 02:46:42
    #9
    Melihhh adlı üyeden alıntı: mesajı görüntüle
    python threading sistemi varda o biraz karışık

    1 tane yap 2 farklı exe çalıştır dilersen kodun üst kısmını bilmediğim için yada aklında kini bilmediğimden net bir şey demek zor threading sistemine de bakaiblirsin dilersen.
    Allah razı olsun Hocam. Oldu şimdi.
    import aiohttp
    import asyncio
    from datetime import datetime
    import threading
    
    async def main():
        print("aiohttp Time:", datetime.now())
        async with aiohttp.ClientSession() as session:
            async with session.get('https://api.ipify.org?format=json') as response:
                data = await response.json()
                await asyncio.sleep(5)
                print("IP adresi:", data)
                await asyncio.sleep(5)
                print(data)
                return data['ip']
    
    async def run_main():
        await main()
    
    def thread_function():
        asyncio.run(run_main())
    
    # İki thread oluştur
    thread1 = threading.Thread(target=thread_function)
    thread2 = threading.Thread(target=thread_function)
    
    # Threadleri başlat
    thread1.start()
    thread2.start()
    
    # Threadlerin bitmesini bekle
    thread1.join()
    thread2.join()