Zlika Posté 3 Décembre 2014 Posté 3 Décembre 2014 Bonjour, Une question qui me taraude ! J'ouvre une page qui déclenche un ajax. Je clique un lien qui appelle une nouvelle page alors que l'ajax s’exécute. Que se passe-t-il ? 1) le processus ajax s'arrête 2) le processus aboutit. Merci pour votre érudition.
SStephane Posté 3 Décembre 2014 Posté 3 Décembre 2014 Les requêtes ajax sont arrétées sur le unload (de mémoire) -> 1 donc,
Portekoi Posté 3 Décembre 2014 Posté 3 Décembre 2014 Euh non, si tu envoies une requêtes à un fichier PHP, ce dernier ne s'arrêtera pas même si tu quittes la page. Le script se fait côté serveur donc normal.
captain_torche Posté 3 Décembre 2014 Posté 3 Décembre 2014 Si on parle de processus strictement AJAX, selon SStéphane il serait arrêté. Mais effectivement, tiens compte de la remarque de Portekoi si derrière l'AJAX, un traitement lourd est effectué côté serveur.
Zlika Posté 8 Décembre 2014 Auteur Posté 8 Décembre 2014 Bonjour et merci à vous pour vos réponses, J'ai passé le cron en post dont l'option async est sur true pas défaut. En fait si je comprends bien le script php lancé en ajax ne s'arrêtera pas Je vais quand même me faire un test et je reviens vous dire
Zlika Posté 12 Décembre 2014 Auteur Posté 12 Décembre 2014 Bonjour, Pour info J'ai donc fait un test avec un script ajax qui contient un sleep(20) suivi d'un update en base ! Le script php est éxécuté coté serveur, sur changement de page et sur kill de l'onglet sous FF et chrome. Bon WE
captain_torche Posté 12 Décembre 2014 Posté 12 Décembre 2014 Ca ne confirme que le fait qu'à partir du moment où le script PHP est appelé, il est exécuté jusqu'au bout, comme te l'avait spécifié Portekoi.
Zlika Posté 13 Décembre 2014 Auteur Posté 13 Décembre 2014 Tout à fait Captain Torche, c'est l'info que je recherchais ! Je ne me sers pas de l'évènement unload Qu'y aurait-il d'autre à confirmer ?
captain_torche Posté 13 Décembre 2014 Posté 13 Décembre 2014 Ta première question était un peu ambigüe, d'où les deux réponses apparemment contradictoires (Et toutes deux exactes) que tu as reçues : - Lors de l'exécution du onUnload, les processus AJAX (Donc purement JavaScript) s'arrêtent - Toutefois, à partir du moment où l'exécution d'un code côté serveur est lancée (PHP ou autre), cette exécution est totalement indépendante du navigateur. Donc, les processus serveur lancés ne s'arrêteront pas
SStephane Posté 14 Décembre 2014 Posté 14 Décembre 2014 Oui je me suis mal exprimé, tout est tué lors du window.unload : ta requête si elle est en cours, l'implémentation de ta méthode onsuccess (success si tu utilises jquery), tes écouteurs, tout. Il me paraissait évident que si ta requête est passé côté serveur... elle semble difficile à arreter en javascript ... désolé si tu as mal compris. Si tu cherches à faire ce que tu sembles vouloir... essaie autre chose que l'ajax qui ne suffira pas (mais dans tous les cas, je me demande bien quoi ).
Zlika Posté 15 Décembre 2014 Auteur Posté 15 Décembre 2014 Très perspicace SStephane Ce qui m'a poussé à rédiger ce post c'est effectivement un ajax en solution temporaire d'un script qui ne fonctionne pas en crontab ! ça n'est d'ailleurs pas assez viable donc je retourne dans le crontab lequel est fait pour ça ! Tout est clair ! Merci pour vos contributions, j'ai quand même recalé une brique de base en passant ;-) Zlika
SStephane Posté 17 Décembre 2014 Posté 17 Décembre 2014 Si tu voulais obtenir ça en web, la seule solution serait le socket avec côté serveur, des appels transactionnels à ta base (rollback si la connexion est coupé avant la fin, commit sinon). Comme quoi c'est quand même faisable
Zlika Posté 17 Décembre 2014 Auteur Posté 17 Décembre 2014 Bien vu Mais je suis un vieux troll qui fonctionne encore sur du MyISAM C'est problématique sur les modifs de table mais sur select en front avec un bon cache, je tourne à 100 ms sur certaines pages Mais tu viens de me démontrer l'utilité de l'innodb.... que j'intuitais déjà ! Non j'ai un problème de cron parceque je ne maitrise pas la programmation objet poussée de mon web service, j'ai un problème de chemin que je n'arrive pas à résoudre ! Faut que je prenne des cours et que j'arrête le procédural ! LOL Bonne soirée Zlika
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant