Communauté Eggdrop
Amélioration d'un script pour le rendre plus performant - Version imprimable

+- Communauté Eggdrop (https://forum.eggdrop.fr)
+-- Forum : Eggdrop et scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=8)
+--- Forum : Scripts (https://forum.eggdrop.fr/forumdisplay.php?fid=4)
+--- Sujet : Amélioration d'un script pour le rendre plus performant (/showthread.php?tid=1803)

Pages : 1 2


RE: Amélioration d'un script pour le rendre plus performant - Amand - 01/10/2024

effectivement, dans mon cas je peux réunir mes requêtes en une proc et crée une seule ouverture fermeture :

tcl
proc ::checkpays::monitoring {nick username ip vhost codepays reputation sslco webirc websocket realname asn asname} {
 
	::checkpays::service:connect

	# Ajout dans la base de donnée du monitoring
	set query "CALL `NEW_CONNECTION`('$nick', '$username', '[mysqlescape [encoding convertto utf-8 $realname]]', '$codepays', '$ip', '$vhost', '$webirc', '$websocket', '$sslco');"
	set res [::mysql::exec $::mysqlink $query]

	# CountIRC
	set now [strftime "%Y-%m-%d"]
	set queryverif "SELECT ip,seen FROM compteur WHERE ip='$ip' AND seen='$now'"
	set rescount [::mysql::sel $::mysqlink $queryverif]
 
	if {[lindex $rescount 0] == 1} {
			set query "UPDATE compteur SET itr=itr+1 WHERE ip='$ip' AND seen='$now'"
	} else {
			set query "INSERT INTO compteur (ip, username, codepays, webirc, websocket, seen, itr) VALUES ('$ip', '$username', '$codepays', '$webirc', '$websocket', NOW(), 1)"
	}
 
	set res [::mysql::sel $::mysqlink $query]
	::checkpays::service:deconnect
 
}



Et au besoin, je créerais une autre proc si je les appelles séparément mais pour l'instant, j'en ai pas besoin, merci.