ile piton süreçlerin bir grubuna katılın.Birkaç süreçleri oluşturmak için Python en çoklu işlem kütüphanesi kullanıyorum zaman aşımı
from multiprocessing import Process
processes = [Process(target=function) for function in FUNCTIONS]
for p in processes:
p.start()
Onları bazı süresince çalıştırmak istiyorum ve onlar tamamlamamış o zaman, onları sonlandırmak.
DURATION = 3600
şöyle öyle yapmanın en kötü yolu (süreçler SÜRESİ daha hızlı bitirmek çünkü eğer kötü, hala SÜRESİ tüm bekler):
from time import sleep
sleep(duration)
for p in processes:
p.join(0)
p.terminate()
Başka bir kötü şekilde yapmak (kötü muhtemelen bitirmek için N * SÜRESİNİ, N süreçlerin sayısı) alabilir çünkü:
for p in processes:
p.join(DURATION)
p.terminate()
bunu yapmak için iyi bir yolu nedir?
İşlemlerinizin ne yaptığını bilmiyorum, ancak normalde bitirme zamanı işlemine sinyal vermek için bir sinyal değişkenini kullanırsınız. Yani DURATION yoluna gideceksin, var olanı ayarla ve katılmayı bekle. – RedX