コード例 #1
0
def download_broadcast_semua():
    texec = dict()
    urls = get_url_list()
    status_task = dict()
    task = concurrent.futures.ThreadPoolExecutor(max_workers=2)
    catat_awal = datetime.datetime.now()
    for k in urls:
        print(f"download dan broadcast {urls[k]}")
        waktu = time.time()
        args = (urls[k], True, TARGET_IP, TARGET_PORT)
        #bagian ini merupakan bagian yang mengistruksikan eksekusi fungsi download
        #dan broadcast gambar secara multithread
        texec[k] = task.submit(lambda p: download_broadcast_gambar(*p), args)

    #setelah menyelesaikan tugasnya, dikembalikan ke main thread dengan memanggil result
    for k in urls:
        status_task[k] = texec[k].result()

    catat_akhir = datetime.datetime.now()
    selesai = catat_akhir - catat_awal
    print(
        f"Waktu TOTAL yang dibutuhkan {selesai} detik {catat_awal} s/d {catat_akhir}"
    )
    print("hasil task yang dijalankan")
    print(status_task)
コード例 #2
0
def kirim_server():
    texec = dict()
    urls = get_url_list()
    status_task = dict()
    temp = 0
    task = concurrent.futures.ThreadPoolExecutor(max_workers=4)
    catat_awal = datetime.datetime.now()
    for k in urls:
        download_gambar(urls[k], k)
        print(f"mendownload {urls[k]}")
        waktu = time.time()
        UDP_IP_ADDRESS = "192.168.122.157"
        UDP_IP_ADDRESS2 = "192.168.122.199"
        PORT = 5003
        if temp == 0:
            texec[k] = task.submit(kirim_gambar, UDP_IP_ADDRESS, PORT,
                                   f"{k}.jpg")
            print('Masuk server 1')
            temp = temp + 1
        elif temp == 1:
            print('Masuk server 2')
            texec[k] = task.submit(kirim_gambar, UDP_IP_ADDRESS2, PORT,
                                   f"{k}.jpg")
    for k in urls:
        status_task[k] = texec[k].result()
    catat_akhir = datetime.datetime.now()
    selesai = catat_akhir - catat_awal
    print(
        f"Waktu TOTAL yang dibutuhkan {selesai} detik {catat_awal} s/d {catat_akhir}"
    )
    print("hasil task yang dijalankan")
    print(status_task)
コード例 #3
0
def kirim_server():
    texec = dict()
    urls = get_url_list()
    temp = 0
    catat_awal = datetime.datetime.now()
    for k in urls:
        download_gambar(urls[k], k)
        print(f"mendownload {urls[k]}")
        waktu = time.time()
        #bagian ini merupakan bagian yang mengistruksikan eksekusi fungsi download gambar secara multithread
        UDP_IP_ADDRESS = "192.168.122.67"
        UDP_IP_ADDRESS2 = "192.168.122.157"
        PORT = 911
        if temp == 0:
            texec[k] = threading.Thread(target=kirim_gambar,
                                        args=(UDP_IP_ADDRESS, PORT,
                                              f"{k}.jpg"))
            print('masuk server 1')
            temp = temp + 1
        elif temp == 1:
            print('masuk server 2')
            texec[k] = threading.Thread(target=kirim_gambar,
                                        args=(UDP_IP_ADDRESS2, PORT,
                                              f"{k}.jpg"))
        texec[k].start()

    #setelah menyelesaikan tugasnya, dikembalikan ke main thread dengan join
    for k in urls:
        texec[k].join()

    catat_akhir = datetime.datetime.now()
    selesai = catat_akhir - catat_awal
    print(
        f"Waktu TOTAL yang dibutuhkan {selesai} detik {catat_awal} s/d {catat_akhir}"
    )
コード例 #4
0
def kirim_server():
    texec = dict()
    urls = get_url_list()
    temp = 0
    status_task = dict()
    task_pool = Pool(processes=15)
    catat_awal = datetime.datetime.now()
    for n in urls:
        download_gambar(urls[n], n)
        print(f"mendownload {urls[n]}")
        UDP_IP_ADDRESS = "192.168.122.145"
        UDP_IP_ADDRESS2 = "192.168.122.83"
        PORT = 321
        if temp == 0:
            texec[n] = task_pool.apply_async(func=kirim_gambar,
                                             args=(UDP_IP_ADDRESS, PORT,
                                                   f"{n}.jpg"))
            print('ke server a')
            temp = temp + 1
        elif temp == 1:
            print('ke server b')
            texec[n] = task_pool.apply_async(func=kirim_gambar,
                                             args=(UDP_IP_ADDRESS2, PORT,
                                                   f"{n}.jpg"))

    for n in urls:
        status_task[n] = texec[n].get(timeout=10)

    catat_akhir = datetime.datetime.now()
    selesai = catat_akhir - catat_awal
    print(
        f"Total waktu yang dibutuhkan adalah {selesai} detik, dari {catat_awal} sampai {catat_akhir}"
    )
    print("status TASK")
    print(status_task)
コード例 #5
0
def kirim_server():
    texec = dict()
    urls = get_url_list()
    status_task = dict()
    temp = 0
    task = concurrent.futures.ThreadPoolExecutor(max_workers=4)
    catat_awal = datetime.datetime.now()
    for k in urls:
        download_gambar(urls[k], k)
        print(f"mendownload {urls[k]}")
        waktu = time.time()
        UDP_IP_ADDRESS = "192.168.122.217"
        UDP_IP_ADDRESS2 = "192.168.122.254"
        PORT = 5758
        #bagian ini merupakan bagian yang mengistruksikan eksekusi fungsi download gambar secara multithread
        if temp == 0:
            texec[k] = task.submit(kirim_gambar, UDP_IP_ADDRESS, PORT,
                                   f"{k}.jpg")
            print('Masuk server 1')
            temp = temp + 1
        elif temp == 1:
            print('Masuk server 2')
            texec[k] = task.submit(kirim_gambar, UDP_IP_ADDRESS2, PORT,
                                   f"{k}.jpg")
    #setelah menyelesaikan tugasnya, dikembalikan ke main thread dengan memanggil result
    for k in urls:
        status_task[k] = texec[k].result()
    catat_akhir = datetime.datetime.now()
    selesai = catat_akhir - catat_awal
    print(
        f"Waktu TOTAL yang dibutuhkan {selesai} detik {catat_awal} s/d {catat_akhir}"
    )
    print("hasil task yang dijalankan")
    print(status_task)
コード例 #6
0
def download_then_broadcast_all():
    texec = dict()
    urls = get_url_list()
    status_task = dict()
    task_pool = Pool(
        processes=2
    )  #2 task yang dapat dikerjakan secara simultan, dapat diset sesuai jumlah core
    catat_awal = datetime.datetime.now()
    for k in urls:
        print(f"download dan broadcast {urls[k]}")
        #bagian ini merupakan bagian yang mengistruksikan eksekusi fungsi download dan broadcast gambar secara multiprocess
        texec[k] = task_pool.apply_async(func=download_then_broadcast_pict,
                                         args=(urls[k], True, TARGET_IP,
                                               TARGET_PORT))

    #setelah menyelesaikan tugasnya, dikembalikan ke main process dengan mengambil hasilnya dengan get
    for k in urls:
        status_task[k] = texec[k].get(timeout=20)

    catat_akhir = datetime.datetime.now()
    selesai = catat_akhir - catat_awal
    print(
        f"Waktu TOTAL yang dibutuhkan {selesai} detik {catat_awal} s/d {catat_akhir}"
    )
    print("status TASK")
    print(status_task)
コード例 #7
0
def kirim_semua():
    texec = dict()
    urls = get_url_list()
    x = 0
    catat_awal = datetime.datetime.now()
    for k in urls:
        download_gambar(urls[k],k)
        print(f"mendownload {urls[k]}")
        waktu = time.time()
        #bagian ini merupakan bagian yang mengistruksikan eksekusi fungsi download gambar secara multiprocess
        UDP_IP_ADDRESS = "192.168.122.191"
        UDP_IP_ADDRESS2 = "192.168.122.90"
        if x == 0:
            texec[k] = Process(target=kirim_gambar, args=(UDP_IP_ADDRESS,5050,f"{k}.jpg"))
            print('Entered Server 1 ')
            x = x + 1
        elif x == 1:
            print('Entered Server 2')
            texec[k] = Process(target=kirim_gambar, args=(UDP_IP_ADDRESS2,5050,f"{k}.jpg"))
        texec[k].start()
    #setelah menyelesaikan tugasnya, dikembalikan ke main process dengan join
    for k in urls:
        texec[k].join()
    catat_akhir = datetime.datetime.now()
    selesai = catat_akhir - catat_awal
    print(f"Waktu TOTAL yang dibutuhkan {selesai} detik {catat_awal} s/d {catat_akhir}")
コード例 #8
0
def kirim_server():
    texec = dict()
    urls = get_url_list()
    status_task = dict()
    temp = 0
    task_pool = Pool(processes=20)
    catat_awal = datetime.datetime.now()
    for k in urls:
        download_gambar(urls[k], k)
        print(f"mendownload {urls[k]}")
        UDP_IP_ADDRESS = "192.168.122.157"
        UDP_IP_ADDRESS2 = "192.168.122.199"
        PORT = 5003
        if temp == 0:
            texec[k] = task_pool.apply_async(func=kirim_gambar,
                                             args=(UDP_IP_ADDRESS, PORT,
                                                   f"{k}.jpg"))
            print('Masuk server 1')
            temp = temp + 1
        elif temp == 1:
            print('Masuk server 2')
            texec[k] = task_pool.apply_async(func=kirim_gambar,
                                             args=(UDP_IP_ADDRESS2, PORT,
                                                   f"{k}.jpg"))
    for k in urls:
        status_task[k] = texec[k].get(timeout=10)

    catat_akhir = datetime.datetime.now()
    selesai = catat_akhir - catat_awal
    print(
        f"Waktu TOTAL yang dibutuhkan {selesai} detik {catat_awal} s/d {catat_akhir}"
    )
    print("status TASK")
    print(status_task)
コード例 #9
0
def kirim_server():
    texec = dict()
    urls = get_url_list()
    temp = 0
    catat_awal = datetime.datetime.now()
    for k in urls:
        print(f"mendownload {urls[k]}")
        waktu = time.time()
        UDP_IP_ADDRESS = "192.168.122.157"
        UDP_IP_ADDRESS2 = "192.168.122.199"
        PORT = 5003
        if temp == 0:
            texec[k] = Process(target=kirim_gambar, args=(UDP_IP_ADDRESS,PORT,f"{k}.jpg"))
            print('Masuk server 1')
            temp = temp+1
        elif temp == 1:
            print('Masuk server 2')
            texec[k] = Process(target=kirim_gambar, args=(UDP_IP_ADDRESS2,PORT,f"{k}.jpg"))
        texec[k].start()
    #setelah menyelesaikan tugasnya, dikembalikan ke main process dengan join
    for k in urls:
        texec[k].join()
    catat_akhir = datetime.datetime.now()
    selesai = catat_akhir - catat_awal
    print(f"Waktu TOTAL yang dibutuhkan {selesai} detik {catat_awal} s/d {catat_akhir}")
コード例 #10
0
def kirim_server():
    texec = dict()
    urls = get_url_list()
    temp = 0
    catat_mulai = datetime.datetime.now()
    for n in urls:
        download_gambar(urls[n], n)
        print(f"mendownload {urls[n]}")
        waktu = time.time()

        UDP_IP_ADDRESS = "192.168.122.145"
        UDP_IP_ADDRESS2 = "192.168.122.83"
        PORT = 321
        if temp == 0:
            texec[n] = threading.Thread(target=kirim_gambar,
                                        args=(UDP_IP_ADDRESS, PORT,
                                              f"{n}.jpg"))
            print('ke server a')
            temp = temp + 1
        elif temp == 1:
            print('ke server b')
            texec[n] = threading.Thread(target=kirim_gambar,
                                        args=(UDP_IP_ADDRESS2, PORT,
                                              f"{n}.jpg"))
        texec[n].start()

    # kembali ke main thread
    for n in urls:
        texec[n].join()

    catat_akhir = datetime.datetime.now()
    selesai = catat_akhir - catat_mulai
    print(
        f"Waktu total yang dibutuhkan adalah {selesai} detik, dari {catat_mulai} sampai {catat_akhir}"
    )
コード例 #11
0
def kirim_server():
    texec = dict()
    urls = get_url_list()
    temp = 0
    catat_awal = datetime.datetime.now()
    for k in urls:
        download_gambar(urls[k], k)
        print(f"mendownload {urls[k]}")
        waktu = time.time()
        UDP_IP_ADDRESS = "192.168.122.157"
        UDP_IP_ADDRESS2 = "192.168.122.199"
        PORT = 5003
        if temp == 0:
            texec[k] = threading.Thread(target=kirim_gambar, args=(UDP_IP_ADDRESS,PORT,f"{k}.jpg"))
            print('Masuk server 1')
            temp = temp+1
        elif temp == 1:
            print('Masuk server 2')
            texec[k] = threading.Thread(target=kirim_gambar, args=(UDP_IP_ADDRESS2,PORT,f"{k}.jpg"))
        texec[k].start()

    for k in urls:
        texec[k].join()

    catat_akhir = datetime.datetime.now()
    selesai = catat_akhir - catat_awal
    print(f"Waktu TOTAL yang dibutuhkan {selesai} detik {catat_awal} s/d {catat_akhir}")
コード例 #12
0
def single_thread():
    urls = get_url_list()

    catat = datetime.datetime.now()
    for k in urls:
        print(f"mendownload {urls[k]}")
        waktu_proses = download_gambar(urls[k])
        print(f"completed {waktu_proses} detik")
    selesai = datetime.datetime.now() - catat
    print(f"Waktu TOTAL yang dibutuhkan {selesai} detik")
コード例 #13
0
def download_broadcast_semua():
    texec = dict()
    urls = get_url_list()
    catat_awal = datetime.datetime.now()
    for k in urls:
        print(f"download dan broadcast {urls[k]}")
        waktu = time.time()
        #bagian ini merupakan bagian yang mengistruksikan eksekusi fungsi download dan broadcast gambar secara multiprocess
        texec[k] = Process(target=download_broadcast_gambar, args=(urls[k],True,TARGET_IP,TARGET_PORT))
        texec[k].start()
    #setelah menyelesaikan tugasnya, dikembalikan ke main process dengan join
    for k in urls:
        texec[k].join()
    catat_akhir = datetime.datetime.now()
    selesai = catat_akhir - catat_awal
    print(f"Waktu TOTAL yang dibutuhkan {selesai} detik {catat_awal} s/d {catat_akhir}")
コード例 #14
0
def kirim_semua():
    urls = get_url_list()
    x = 0

    catat = datetime.datetime.now()
    for k in urls:
        download_gambar(urls[k], k)
        print(f"mendownload {urls[k]}")
        waktu_proses = download_gambar(urls[k])
        print(f"completed {waktu_proses} detik")
        UDP_IP_ADDRESS = "192.168.122.191"
        UDP_IP_ADDRESS2 = "192.168.122.90"
        if x == 0:
            kirim_gambar(UDP_IP_ADDRESS, 5050, f"{k}.jpg")
            print('Entered Server 1')
            x = x + 1
        elif x == 1:
            print('Entered Server 2')
            kirim_gambar(UDP_IP_ADDRESS2, 5050, f"{k}.jpg")
    selesai = datetime.datetime.now() - catat
    print(f"Waktu TOTAL yang dibutuhkan {selesai} detik")
コード例 #15
0
def download_semua():
    texec = dict()
    urls = get_url_list()

    catat_awal = datetime.datetime.now()
    for k in urls:
        print(f"mendownload {urls[k]}")
        waktu = time.time()
        #bagian ini merupakan bagian yang mengistruksikan eksekusi fungsi download gambar secara multithread
        texec[k] = threading.Thread(target=download_gambar, args=(urls[k], ))
        texec[k].start()

    #setelah menyelesaikan tugasnya, dikembalikan ke main thread dengan join
    for k in urls:
        texec[k].join()

    catat_akhir = datetime.datetime.now()
    selesai = catat_akhir - catat_awal
    print(
        f"Waktu TOTAL yang dibutuhkan {selesai} detik {catat_awal} s/d {catat_akhir}"
    )
コード例 #16
0
def kirim_server():
    texec = dict()
    urls = get_url_list()
    status_task = dict()
    temp = 0
    task_pool = Pool(
        processes=20
    )  #2 task yang dapat dikerjakan secara simultan, dapat diset sesuai jumlah core
    catat_awal = datetime.datetime.now()
    for k in urls:
        download_gambar(urls[k], k)
        print(f"mendownload {urls[k]}")
        #bagian ini merupakan bagian yang mengistruksikan eksekusi fungsi download gambar secara multiprocess
        UDP_IP_ADDRESS = "192.168.122.217"
        UDP_IP_ADDRESS2 = "192.168.122.254"
        PORT = 5758
        if temp == 0:
            texec[k] = task_pool.apply_async(func=kirim_gambar,
                                             args=(UDP_IP_ADDRESS, PORT,
                                                   f"{k}.jpg"))
            print('Masuk server 1')
            temp = temp + 1
        elif temp == 1:
            print('Masuk server 2')
            texec[k] = task_pool.apply_async(func=kirim_gambar,
                                             args=(UDP_IP_ADDRESS2, PORT,
                                                   f"{k}.jpg"))
    #setelah menyelesaikan tugasnya, dikembalikan ke main process dengan mengambil hasilnya dengan get
    for k in urls:
        status_task[k] = texec[k].get(timeout=10)

    catat_akhir = datetime.datetime.now()
    selesai = catat_akhir - catat_awal
    print(
        f"Waktu TOTAL yang dibutuhkan {selesai} detik {catat_awal} s/d {catat_akhir}"
    )
    print("status TASK")
    print(status_task)
コード例 #17
0
def kirim_semua():
    texec = dict()
    urls = get_url_list()
    x = 0
    status_task = dict()
    task_pool = Pool(
        processes=20
    )  #2 task yang dapat dikerjakan secara simultan, dapat diset sesuai jumlah core
    catat_awal = datetime.datetime.now()
    for k in urls:
        download_gambar(urls[k], k)
        print(f"mendownload {urls[k]}")
        UDP_IP_ADDRESS = "192.168.122.191"
        UDP_IP_ADDRESS2 = "192.168.122.90"
        if x == 0:
            texec[k] = task_pool.apply_async(func=kirim_gambar,
                                             args=(UDP_IP_ADDRESS, 5050,
                                                   f"{k}.jpg"))
            print('Entered Server 1')
            x = x + 1
        elif x == 1:
            print('Entered Server 2')
            texec[k] = task_pool.apply_async(func=kirim_gambar,
                                             args=(UDP_IP_ADDRESS2, 5050,
                                                   f"{k}.jpg"))

    #setelah menyelesaikan tugasnya, dikembalikan ke main process dengan mengambil hasilnya dengan get
    for k in urls:
        status_task[k] = texec[k].get(timeout=10)

    catat_akhir = datetime.datetime.now()
    selesai = catat_akhir - catat_awal
    print(
        f"Waktu TOTAL yang dibutuhkan {selesai} detik {catat_awal} s/d {catat_akhir}"
    )
    print("status TASK")
    print(status_task)