PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WEBDEV 2024 → Serveur d'application n’exécute pas les taches planifiée.
Serveur d'application n’exécute pas les taches planifiée.
Iniciado por Antoine, 10,feb. 2014 09:46 - 24 respuestas
Publicado el 10,febrero 2014 - 09:46
Bonjour,

Je cherche de l'aide pour paramétrer mon serveur d'applications Webdev car mes tache planifiée ne s'exécute pas.

Je m'explique, j'ai un projet test (fourni par le support utilisateur de Webdev) qui lance une tache planifiée toutes les minutes.

Voici ce que fait la tache planifiée :
MonFichierTexte est une chaîne = ComplèteRep(fRepDonnées()) + "Test_Tache.txt"
nIDFichier est un entier
sChaîneEcriture est une chaîne = HeureVersChaîne(HeureSys(), "HH:MM:SS") + " - Test écriture"

// Ouverture du fichier
nIDFichier = fOuvre(MonFichierTexte, foEcriture+foCréationSiInexistant)
SI nIDFichier <> -1 ALORS

// Ecriture du fichier
// sChaîneEcriture contient la chaîne à écrire
fEcritLigne(nIDFichier, sChaîneEcriture, Taille(sChaîneEcriture))

// Fermeture du fichier
fFerme(nIDFichier)
SINON
Erreur()
FIN


J'ai ajouté les droits pour l'utilisateur invité de IIS sur le dossier du site mais il ne se passe rien du tout.

J'ai vraiment besoin d'aide la parce que ça fait 15 jours que je cherche !!

Merci à vous.
Publicado el 10,febrero 2014 - 13:29
Que voulez vous dire par, parametrer IIS pour les taches planifiées ?

Nous avons le meme soucis que vous en version 18 et 19. La tache planifiée ne s'exécute jamais .

Nous avons essayée toutes les options proposées.

Merci d'avance
Publicado el 10,febrero 2014 - 16:38
Il y a peut-être des droits a ajouter dans IIs pour sur les dossiers du site, je ne sais pas.

Le support technique ne me donne aucun détail.
Miembro registrado
54 mensajes
Popularité : +1 (1 vote)
Publicado el 10,febrero 2014 - 18:46
Perso une procédure automatique je la ferais via une procédure navigateur automatique avec un ajaxexecuteasynchrone.
Publicado el 11,febrero 2014 - 08:54
C'est dommage de passer par cette fonction alors que Webdev donne la possibilité de faire des tâches planifiés (enfin quand elles marchent)
Publicado el 12,febrero 2014 - 13:00
Bonjour,

Pour nous le but n'est pas d'executer la tache planifiee quand l'utilisateur est connecte, mais comme une tache planifiee qui s'execute comme dans le planificateur de tache Windows.
Et d'apres la doc c'est possible sauf que cela ne marche pas pour nous en version 18 ou 19.
Si des utilisateurs savent le faire on est preneur.

Merci
Xavier
Miembro registrado
54 mensajes
Popularité : +1 (1 vote)
Publicado el 12,febrero 2014 - 15:13
Bonjour Xavier,
Peut-être existe-il sur les serveurs WebDev une option interdisant ou permettant d'exploiter cette option ?


Cordialement
JB
Miembro registrado
108 mensajes
Popularité : +1 (1 vote)
Publicado el 18,febrero 2014 - 21:26
Bonjour,

on vient de recevoir un message du support nous demandant d'etre sur une version superieur a 40g ou 56f je ne sais pls, on leurs a repondu qu'on etait sur la 63c ( toute derniere de Webdev18) . On n'a pas repondu qu'on a aussi essaye en webdev 19 meme probleme.
Ils nous ont envoyé aussi le lien sur la page d'aide :) , on a prit ca avec humour, page qu'on connait maintenant presque par coeur.

That's all Folks,

Xavier
PS: donc si quelqu'un a eu ce probleme et a une solution. Thanks.
Miembro registrado
1.603 mensajes
Popularité : +64 (70 votes)
Publicado el 19,febrero 2014 - 08:42
Bonjour Xavier,

Je ne comprends pas : chez moi cela fonctionne parfaitement depuis des mois et sur plusieurs projets différents.

Je suis encore en version 18.

--
Cordialement
François


http://intra.fr
Publicado el 09,abril 2014 - 14:09
Problème similaire de notre côté.

Sur le serveur A, une tâche planifiée fonctionne. Sur le serveur B, elle ne fonctionne pas. Dans les deux cas les sites sont développés sous WB 18, version 63c pour le serveur d'application. Les droits sur les répertoires de travail sont les mêmes.

Les symptômes sont assez aléatoires, l'une de nos tâches planifiées ne fonctionnait pas jusqu'à redémarrage complet du serveur. Elle a ensuite fonctionné jusqu'à mise à jour du site (sans toucher à la procédure ni à sa planification) et depuis plus moyen de la refaire fonctionner.
D'autres tâches n'ont jamais fonctionné du tout.
Miembro registrado
156 mensajes
Popularité : +3 (3 votes)
Publicado el 05,junio 2014 - 17:33
Bonjour,

Comment faites vous pour savoir les taches planifiées qui ont été programmées, à quel moment, si elles se sont exécutées ou pas ?
Je ne vois rein pour cela dans Webdev ...

François
Miembro registrado
1.603 mensajes
Popularité : +64 (70 votes)
Publicado el 05,junio 2014 - 18:18
Bonjour,

Pour savoir si une tâche planifiée s'exécute, s'adresser un Email ou ajouter un enregistrement dans une table spécifique HFSQL avec la date et l'heure d'exécution dans le code de cette procédure. Autrement je ne vois pas.

Attention : dans les droits du centre de contrôle HFSQL, il existe un droit intitulé "Droit de paramétrer les tâches planifiées". Est ce un droit propre au centre de contrôle ou a t'il une incidence sur les tâches planifiées dans Webdev ?
Par ailleurs qui exécuterait alors ces tâches : l'user ou l'admin ?

--
Cordialement
François

http://intra.fr http://intrasoftware.fr
Miembro registrado
156 mensajes
Popularité : +3 (3 votes)
Publicado el 05,junio 2014 - 22:12
En effet, en faisant comme vous le proposez c'est quand même faire une usine à gaz.
Lors de l'apparition de cette fonction l'an passé j'avais suggéré à PCSOFT :
" - Comment contrôler sur le serveur WEBDEV les tâches planifiées qui vont s'exécuter ? Nom de la tache, date heure prochaine exécution, erreur rencontrées ... ?
- Idem pour les WebDev tâches différées ?
- Quelles sont les taches en attente, depuis quand ? Erreur à l'exécution ?
- On pourrait rajouter aussi le taux de charge d’exécution de ces fonctions pour éviter d’avoir un serveur qui pénalise l’usage distant des sites."
Après avoir le reçu le message type "Votre idée est intéressante. Je l’ai transmise en tant que suggestion à notre équipe de développement pour qu’ils étudient son implémentation dans une prochaine version ..." et ayant relancé ces jours-ci, j'ai malheureusement obtenu une réponse négative quant à la disponibilité de ces compléments sommes toutes indispensables ... C'est dommage.
Si vous aimeriez ces compléments, je vous engage à en faire part à PCSOFT.
Cdt,
François
Miembro registrado
1.603 mensajes
Popularité : +64 (70 votes)
Publicado el 06,junio 2014 - 08:43
Bonjour François,

Une usine à gaz ? Non je ne le pense pas.

En ce qui me concerne, les tâches planifiées remplissent à 100% leurs rôles.

J'en utilise une qui monitore des serveurs VPS et d'hébergement toutes les 15 minutes. Le résultat est mémorisé et je suis avisé par SMS et Email en cas de problème.

Une autre compacte une sauvegarde HFSQL et la transfère sur un autre serveur d'hébergement tous les jours à 4 heures du matin.

--
Cordialement
François

http://intra.fr http://intrasoftware.fr
Publicado el 18,junio 2014 - 14:12
Toujours est-il que dans certains cas, les tâches planifiées ne s’exécutent pas, et pour le moment personne ici n'a encore trouvé la raison (configuration du serveur, gestion des droits, ... ?), le support technique gratuit n'étant pour une fois pas d'une grande aide.
Miembro registrado
1.603 mensajes
Popularité : +64 (70 votes)
Publicado el 19,junio 2014 - 08:27
Bonjour Gaël,

Je te conseille de créer et de tester une tâche planifiée sans action sur un fichier externe ou sur un fichier HFSQL comme par exemple d'envoyer un Email (donc sans problème de droits).

Si ta tâche planifiée utilise un fichier HFSQL en local ou en C/S, il faut que celui-ci soit ouvert dans le code d'ini du projet ou que la connexion C/S soit ouverte.

--
Cordialement
François

http://intra.fr http://intrasoftware.fr
Publicado el 20,junio 2014 - 14:26
Actuellement, ma tâche planifiée contient uniquement :
fSauveTexte(gsRepertoire+"test_"+DateSys+HeureSys+".txt","Test") // gsRepertoire étant défini dans le code d'initialisation du projet
fSauveTexte(ComplèteRep(fRepExe)+"test_"+DateSys+HeureSys+".txt","Test")

Elle est programmée pour s'exécutée tous les jours, toutes les minutes, pourtant je n'ai jamais trouvé la trace de ces fichiers txt.
A la base cette tâche devait calculer des statistiques à partir de données HF C/S (connexions définies et ouvertes dans le code d'initialisation du projet et/ou dans la tâche elle même quand nécessaire). Voyant que ça ne fonctionnait pas, j'ai petit à petit rajouté des écritures dans un fichier pour voir d'où venait le problème. N'ayant pas plus de succès avec ces "logs" (aucun fichier créé), j'ai petit à petit enlevé du code, jusqu'à ce qu'il ne reste que ces deux lignes là.
Publicado el 20,junio 2014 - 15:50
Bonjour Gaël

perso, je soupconne "gsRepertoire étant défini dans le code
d'initialisation du projet"

Définit comment ? ou ?

L'utilisateur qui fait tourner la tache planifié n'a peut être tout
simplement pas de droit en écriture sur ce répertoire

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

NOUVEAU: WXShowroom.com est disponible : Montrez vos projets !
Plus d'information sur http://fabriceharari.com



On 6/20/2014 6:26 AM, "Gaël SN" wrote:
Actuellement, ma tâche planifiée contient uniquement :
fSauveTexte(gsRepertoire+"test_"+DateSys+HeureSys+".txt","Test") //
gsRepertoire étant défini DANS le code d'initialisation du projet
fSauveTexte(ComplèteRep(fRepExe)+"test_"+DateSys+HeureSys+".txt","Test")

Elle est programmée pour s'exécutée tous les jours, toutes les minutes,
pourtant je n'ai jamais trouvé la trace de ces fichiers txt.
A la base cette tâche devait calculer des statistiques à partir de
données HF C/S (connexions définies et ouvertes dans le code
d'initialisation du projet et/ou dans la tâche elle même quand
nécessaire). Voyant que ça ne fonctionnait pas, j'ai petit à petit
rajouté des écritures dans un fichier pour voir d'où venait le problème.
N'ayant pas plus de succès avec ces "logs" (aucun fichier créé), j'ai
petit à petit enlevé du code, jusqu'à ce qu'il ne reste que ces deux
lignes là.
Publicado el 20,junio 2014 - 17:23
Bonjour,

gsRepertoire est défini en dur, dans le code d'initialisation du projet, et pointe vers un répertoire existant sur le serveur où est hébergé le site (chemin absolu).

Ce répertoire possède, à des fins de test, le droit "contrôle total" pour "Tout le monde".

Quel est l'utilisateur sensé exécuter la tâche planifiée ? Le même que celui qui est utilisé lors de l'ouverture d'une session WebDev sur le serveur (IIS_IUSRS par défaut sur IIS7, il me semble) ?
Publicado el 06,febrero 2015 - 17:16
Bonjour,

Je relance le sujet car j' ai le même problème en V20 ! (et V19)

Je vois bien la tâche planifiée se lancer sur le serveur (Dans fenêtre d' administration WEBDEV) mais rien ne s exécute....

J'ai saisie plusieurs types de code ( envoi email, lecture dans un fichier, enregistrement dans BDD, fonction Trace..) et à chaque fois rien !!

De plus, après plusieurs tests, je me suis aperçu que les tâches planifiées dans un composant ne se lancent même pas.

Cordialement
Miembro registrado
1 mensaje
Publicado el 05,octubre 2015 - 14:23
J'ai le même problème en WD20 version 66p.

La tâche planifiée ne ce lance pas.

Elle ne fait que m'adresser un mail dans un premier temps. (la procédure d'envois a été testée dans le programme et elle fonctionne très bien.)

Cordialement
Miembro registrado
135 mensajes
Popularité : +8 (8 votes)
Publicado el 05,octubre 2015 - 16:30
Bonjour tout le monde,

Même si une procédure est testée "dans le programme", dans certains cas, le contexte d'exécution peut certainement faire qu'une procédure ne fonctionne pas en différé ou en planifié...

Personnellement j'encadre toujours mes procédures différées/planifiées par une gestion d'exception locale :

QUAND EXCEPTION DANS
[VOTRE CODE]
FAIRE
[LOG DE L'ERREUR]
FIN

Ceci pour, au moins voir, si votre code ne plante pas pendant son appel.
Bien sur il faut que la procédure LOG soit bétonnée sinon on retourne dans le même problème...
Un exemple de procédure [LOG DE L'ERREUR]
fSauveBuffer(ChaîneConstruit("ERREUR_[Nom_Procedure]_%1.txt",DateHeureSys()),ExceptionInfo(errComplet))

--
Dominique DAUSSY
http://www.serviceinfo76.com
Miembro registrado
2 mensajes
Publicado el 26,octubre 2020 - 12:21
Bonjour,

Je viens d'etre confronté au même problème, et le support PCSOFT n'a pas non plus trouvé de solution pour faire fonctionner certaines taches planifiées..
J'ai finalement testé autre chose afin de contourner cette difficulté, et cela fonctionne :
- Création d'un projet Webdev en mode session contenant le lancement de la procédure à exécuter dans la première page
- Création d'une tache planifiée avec
- action "C:\Program Files\Internet Explorer\iexplore.exe" et l'url du projet en argument
- penser à activer l'option "arrêter l'instance existante" dans l'onglet paramètres

--
François CHEMIN
www.datawine.fr
Miembro registrado
1.623 mensajes
Popularité : +100 (114 votes)
Publicado el 26,octubre 2020 - 16:57
Chez moi j'ai remarqué que chaque ajout de tache demande un redémarrage complet du serveur web... je ne sais pas pourquoi mais ça a toujours été comme ca ..
Miembro registrado
25 mensajes
Popularité : +3 (3 votes)
Publicado el 15,noviembre 2020 - 23:02
Bonjour à tous!

Les tâches planifiées fonctionnent correctement dans mon WAS.
Au début, c'était difficile pour moi de les faire fonctionner mais j'ai fait un test et depuis, tout va bien.
D'après ce que j'ai pu voir, les tâches planifiées sont exécutées dans un «périmètre» autre que le site Web, ou plutôt il n'utilise pas correctement la connexion définie dans l'analyse. Ce que j'ai fait, c'est spécifier la connexion dans la procédure et là tout a commencé à fonctionner sans problème.

//Nos conectamos a la base de datos
Conn..Server = "localhost:4900"
Conn..User = "admin"
Conn..Password = "PASSWORD"
Conn..Database = "BBDD"

IF HOpenConnection(Conn) = False THEN Info(HErrorInfo())
IF HChangeConnection("*",Conn) = False THEN Info(HErrorInfo())

HModifyStructure("*",hmsBackgroundTask)
HCreationIfNotFound("*","")

//PROCEDIMIENTO A EJECUTAR

s_Error is string

CASE ERROR:
s_Error = HErrorInfo(hErrFullDetails)
fSaveText(CompleteDir(fExeDir)+"test_"+DateSys+TimeSys+".txt",s_Error)
CASE EXCEPTION:
s_Error = HErrorInfo(hErrFullDetails)
fSaveText(CompleteDir(fExeDir)+"test_"+DateSys+TimeSys+".txt",s_Error)

J'espère que quelqu'un trouvera cela utile.

Juan.