Teo31
Messages postés5Date d'inscriptionmercredi 18 février 2004StatutMembreDernière intervention24 novembre 2005
-
25 nov. 2004 à 22:32
cboulas
Messages postés2641Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 8 janvier 2014
-
26 nov. 2004 à 09:36
Bonjour,
J'utilise une log pour tracer le lancement de mon exécutbale depuis php.
J'ai tout bonnement utilisé la fonction Open bidule for append, avec un freefile d'ouverture.
Mais, lors de tests de charge effectués sur le php avec l'appel à cet exe VB, il semble que des écritures simultanées dans la log font que Apache se fige et le process vb exe aussi (reste figé sous W2k).
D'où ma question : qqn connaît-il la façon d'écrire dans une log avec une API, mais de manière à ce que deux accès concurrents et simultanés ne fassent pas figer l'exe ?
cboulas
Messages postés2641Date d'inscriptionmercredi 2 juin 2004StatutMembreDernière intervention 8 janvier 201416 25 nov. 2004 à 22:50
Salut, tu peux utiliser un fichier temps par application.
une appli simple en VB permet de lié le tout.
J'explique un peu mieux, ton PHP fait un log dans un fichier TempPHP.txt et ton Exe fait un fichier TempExe
une seconde appli Exe (très petite env : 300Ko) ouvre chacun des fichiers Temp les uns après les autres.
Il ouvre le 1er fichier, récupère ce qu'il y a dedant, le vide et le referme, ce qui à été récupérer est mis à la suite du fichier Log principal : TempSnd.txt puis il ouvre le 2nd fichier récupère ce qu'il y a dedant puis le vide, ensuite le ferme et ajoute le tout à la suite de TempSnd.txt. cette même appli affiche par exemple le contenu de ton fichier TempSnd.txt avec un raffraîchissement de cet affichage toutes les seconde par exemple.
ça devrais fonctionner, je peux pas tester car je n'ai pas installer PHP sur mon poste
Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
Teo31
Messages postés5Date d'inscriptionmercredi 18 février 2004StatutMembreDernière intervention24 novembre 2005 26 nov. 2004 à 08:30
Salut !,
Merci pour ta réponse. Mais j'explique un peu mieux mon pb.
Dans le code php, il est fait appel à mon exe (qui produit des documents Word). Lorsque plusieurs utilisateurs du php "chargent" le site, plusieurs instances concurrentes écrivent dans le même fichier de log.
Je soupçnne qu'il y ait à un moment donné un accès en écriture sur ce même fichier par 2 instances de l'exe différentes en simultané, ce qui provoque le blocage.
D'où je réitère ma question : existe-t-il un API qui permet d'écrire dans un fichier de log par deux instances différentes, sans poser le pb de la superposition ?