Maison > Questions et réponses > le corps du texte
PHPz2017-04-18 10:09:15
fh =logging.FileHandler(BASE_DIR+'/log/'+username+'_'+GetNowTime()+'_'+str(random.random())+'.log')
这个你每一次创建的handler对象有没有调用`fh.close()`来清除此hander的所拥有的资源。
大家讲道理2017-04-18 10:09:15
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...
阿神2017-04-18 10:09:15
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é !
PHP中文网2017-04-18 10:09:15
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.