Accès Log en simultané

Résolu
Teo31 Messages postés 5 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 24 novembre 2005 - 25 nov. 2004 à 22:32
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Derniè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 ?

Merci de vos tuyaux !
A+

Téo31

3 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
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]
3
Teo31 Messages postés 5 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 24 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 ?

Merci et à+

Téo31
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
26 nov. 2004 à 09:36
Peux être l'ouvrir en mode binaire (Binary) et en utilisant Put / Get

Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]
0
Rejoignez-nous