PHP'nin set_time_limit ve Python eşdeğer nedir (olan)?

2 Cevap php

Onu durdurmak için tek yol soket üzerinde bir zaman aşımı da var içeri süreci öldürmek için, çünkü ben (ben bir yerde yuva veri bekliyor tezgahları düşünüyorum) donma, ama sorun bir hata izleme raporu alıyorum yaşıyorum bir python komut dosyası var , ama çalışmak için görünmüyor.

Python PHP'nin set_time_limit() komut durdurmak ve belki de donmuş bir sock.recv() çağrıyı gösteren, bana yararlı bir backtrace verebilir fonksiyonu, ya da bir yerde sonsuz bir döngü gibi bir özelliği vardır umuyorum .

2 Cevap

signal.alarm (Unix platformlarında) yardımcı olabilir, ancak (platforma bağlı olarak) kesintisiz sistem çağrıları olabilir (ve Unix üzerinde, docs sağ olsun, PHP'nin set_time_limit sistem çağrıları harcanan zaman sayılmaz , böylece asılı sistem çağrısı) Orada da bir sorun olacaktır.

Sen yerine yuva üzerinde bir zaman aşımı ayarlayabilirsiniz.

import socket
socket.setdefaulttimeout(10) #10 seconds

Programın başında o yapmak ve her soket bağlantılarını yapmak saygı gerekir.