python 2.7记录日志的问题IOError: [Errno 24] Too many open files
伊谢尔伦
伊谢尔伦 2017-04-18 10:07:15
0
4
1164
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

répondre à tous(4)
PHPzhong
fh =logging.FileHandler(BASE_DIR+'/log/'+username+'_'+GetNowTime()+'_'+str(random.random())+'.log')

这个你每一次创建的handler对象有没有调用`fh.close()`来清除此hander的所拥有的资源。
大家讲道理

Trop de fichiers sont ouverts. De manière générale, la valeur par défaut est un maximum de 1024 fichiers
Vous devez augmenter cette valeur et vérifier combien de fichiers peuvent être exécutés en exécutant ulimit -a. Regardez les "fichiers ouverts". à l'intérieur
D'autres sont disponibles Référence : http://askubuntu.com/question...

阿神

logger = logging.getLogger('mylogger'+str(time.time()))
Il y a un problème avec cette phrase Si vous n'exécutez pas get_task2 une fois, vous obtiendrez un descripteur de fichier If. vous le lancez trop de fois, il sera bien sûr dépassé !

洪涛
logger = logging.getLogger('mylogger'+str(time.time()))

Cette façon d'écrire est intrinsèquement mauvaise et les risques potentiels sont trop élevés. Il n'est pas raisonnable de générer un journal distinct pour chaque demande. Le système Linux lui-même a également une limite sur le nombre de fichiers dans un répertoire. S'il y a trop de requêtes, la limite supérieure sera atteinte et une erreur se produira.

Quant à savoir si le gestionnaire est fermé ou non, cela ne peut être considéré au mieux que comme une erreur de programmation, mais avoir un journal séparé pour chaque requête est complètement une mauvaise façon de penser.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!