URL isteklerini urllib2 kullanarak gerçekleştiren bir python betiğim var. Eşzamansız çalışan ve bir işlev gerçekleştiren 5 işlem havuzum var. Bu işlev, url çağrılarını yapan, veri alan, istenen formatta ayrıştıran, hesaplamaları gerçekleştiren ve veri ekleyen bir işlevdir. Her bir URL isteği için veri miktarı değişir.monitor stuck python process
Bu komut dosyasını bir cron işi kullanarak her 5 dakikada bir çalıştırıyorum. Bazen ps -ef | grep python
yaptığımda sıkışmış işlemler görüyorum. Süreçlerin izini sürdürebilen çok-işlemli sınıf içerisinde süreç anlamlarını takip edebilmem, onların devlet anlamlarını tamamlama, takılma ya da ölme gibi bir yol var mı? izlemek için bir yolu var mı
try:
Url = "http://gotodatasite.com"
data = urllib2.urlopen(Url).read().split('\n')
except URLError, e:
print "Error:",e.code
print e.reason
sys.exit(0)
:
i zaman uyumsuz
pool = Pool(processes=5)
pool.apply_async(getData,)
işler diyoruz nasıl Bu edilir Ve aşağıdaki urllib2 isteklerini gerçekleştirir getData bir parçasıdır: İşte bir kod parçacığı İşte süreçler sıkıştı ve tekrar tekrar mı?
"stuck?" Bunun ne anlama geldiğini anlatabilir misin? –
Neden bunları "multiproccesing" ile çalıştırmanız gerekiyor? Birden fazla cron işi kullanmanın nesi yanlış? –
@Andrew: Sıkışmış süreçleri kastediyorum. – ash