import threading, Queue, time, random THREADS = 10 class Run : def init : self. queue = queue threading. Thread. init def run : while 1: item = self. queue. get if item is None: break time. sleep(random. randint(10, 100) / 1000.0) print "task", item, "finished" queue = Queue. Queue(0) for i in range : Run . start for i in range(10): queue. put for i in range : queue. put boyle bir kontrolcu tanimlasan iyi olmaz mi umut kardesim?

import threading, Queue, time, random THREADS = 10 class Run : def init : self. queue = queue threading. Thread. init def run : while 1: item = self. queue. get if item is None: break time. sleep(random. randint(10, 100) / 1000.0) print "task", item, "finished" queue = Queue. Queue(0) for i in range : Run . start for i in range(10): queue. put for i in range : queue. put boyle bir kontrolcu tanimlasan iyi olmaz mi umut kardesim? Harbiden nasıl aklıma gelmedi :D Teşekkür ettim şuan istediğim gibi oldu. http://paste.ubuntu.com/13231932/ Too weird to live, too rare to die.

diyom ya 2 tane sürekli arkaplanda çalışan script yazıcan downloader socket ile veya txt dosyası ile urlleri alacak sadece downloader'ın erişebildiği daha_nce_indirdiklerim. txt olacak bylece aynı videoyu tekrar tekrar indirmeyecek download bitene kadar dosya uzantısı. tmp olacak uploader aynı klasrdeki uzantısı tmp olmayan videoları bulacak upload sorunsuz hallolunca da dosyayı silecek thread mhread uğraşmaya gerek yok byle daha kolay olur tek yapman gereken url listesini güncellemek echo "yeni url" >> urllist. txt gibi

import Queue, threading, time q = Queue. Queue def worker : print "Worker starting..." for i in range(3): print str + " is starting." time. sleep(1) print str + " is complete." q. put def upload : if q. qsize != 0: uplink = q. get print "\nFinished prcs catched, file uploading..." time. sleep(2) print str + " was uploaded." q. task_done if q. qsize 0: return False return True if name " main ": w = threading. Thread w. start while True: if not upload : break q. join w. join Bu kodlar pseudo kafamdaki olayı anlatmak için yazdım. Burada worker fonkunun sleep'ini upload fonkundan yüksek tutunca kuyruğa veri geç eklendiği için while'dan çıkıyor diğer verileri işlemiyor, başka türlü while'dan çıkma mekanizması aklıma gelmedi. Ama yapmak istediğim olay bu. rnekle açıklarsam, 1. fonksiyon videoları indiricek indirilen video upload edilecek bu sırada videoların inmesi devam edicek. Gerçek kodda video indirmeler bazen uploaddan uzun veya kısa oluyor o yüzden rnek olması için sleep ekledim. Soruma gelirsek kuyruğa yeni veri eklendikçe eklenen veriyi nasıl işleme sokabilirim? Too weird to live, too rare to die.

diyom ya 2 tane sürekli arkaplanda çalışan script yazıcan downloader socket ile veya txt dosyası ile urlleri alacak sadece downloader'ın erişebildiği daha_nce_indirdiklerim. txt olacak bylece aynı videoyu tekrar tekrar indirmeyecek download bitene kadar dosya uzantısı. tmp olacak uploader aynı klasrdeki uzantısı tmp olmayan videoları bulacak upload sorunsuz hallolunca da dosyayı silecek thread mhread uğraşmaya gerek yok byle daha kolay olur tek yapman gereken url listesini güncellemek echo "yeni url" >> urllist. txt gibi Mantık güzel kafama yattı boş bi zamanda kodları yeniden düzenleyip denicem sağol. Too weird to live, too rare to die.

Queue mantığının damına koymuşsun hocam :D https://docs.python. org/2/library/queue.html#Queue. Queue. join rneğin en sonundaki q. join yerine while koydun mu tamamdır genel mantık bu şekildedir ne yaptığından bahsetsen daha açık bir şekilde, belki faydamız dokunacak da youtube'a spam bot yazıon herhalde? :D mantık değiştirecek olursak 1- downloader. py 2- uploader. py downloader. py : verilen urlleri indiren, indirinceye kadar dosya ismi dosya. tmp kalacak uploader. py : . tmp dosyalarını yoksayarak, bulduğu dosyaları upload edecek, sonra silecek yle bi şey spam değil de bi site var oradan videoları çekip ffmpegle renderleyip youtube 'a upluyorum. Sorun şu ki çok zaman alıyor ilk once videolar iniyor sonra render sonra upload lüm. Yapmak istediğim olay dediğin gibi videolar inerken inen videoları renderlıcak aynı sırada video inmesi devam edicek sonra renderlanan uplanacak, bu dediğimi yapmıştım ama rendera gerek kalmadığını fark ettim aradan onu çıkarınca işler karıştı kuyruğa veriler geç girdiği için dngümden çıkıyor diğerlerini uplamıyor ffmpeg varken aradaki sureyi renderla kapıyordum. iKlotho tarafından 11/Kas/15 21:21 tarihinde düzenlenmiştir Too weird to live, too rare to die.

Queue mantığının damına koymuşsun hocam :D https://docs.python. org/2/library/queue.html#Queue. Queue. join rneğin en sonundaki q. join yerine while koydun mu tamamdır genel mantık bu şekildedir ne yaptığından bahsetsen daha açık bir şekilde, belki faydamız dokunacak da youtube'a spam bot yazıon herhalde? :D mantık değiştirecek olursak 1- downloader. py 2- uploader. py downloader. py : verilen urlleri indiren, indirinceye kadar dosya ismi dosya. tmp kalacak uploader. py : . tmp dosyalarını yoksayarak, bulduğu dosyaları upload edecek, sonra silecek YekteranBaymedir tarafından 11/Kas/15 20:44 tarihinde düzenlenmiştir