Machines en ligne, les journaux d'accès doivent être filtrés et envoyés à une autre API
Au début, il s'agissait d'un processus unique, qui était trop inefficace après le passage à l'envoi multi-processus. , cela apparaissait occasionnellement dans les logs. Erreur d'exception (j'ai oublié de faire une capture d'écran...)
Bref, le port ne suffit pas et l'erreur est signalée
Chaque journal est une requête envoyée à l'API, et les connexions courtes génèrent une grande quantité de statut time_wait, occupant un grand nombre de ports
Le réglage du noyau d'un grand nombre de statuts time_wait provoqué par cette concurrence élevée est fondamentalement inutile. Plus tard, il a été remplacé par une connexion longue pour résoudre le problème
En raison des informations commerciales spécifiques impliquées, seule la clé une partie du code est publiée
import pycurl where True: url=myqueue.get() send_msg=pycurl.Curl() send_msg.setopt(pycurl.URL,url) send_msg.perform() print send_msg.getinfo(send_msg.HTTP_CODE)
Utilisation de la bibliothèque de requêtes
import requests client=requests.session() headers = {'Content-Type': 'application/json', 'Connection': 'keep-alive'} where True: url=myqueue.get() r=client.get(url,headers=headers) print r.status_code
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!