Plannification d'updates, quelle methode choisir ?

Plannification d'updates, quelle methode choisir ? - SQL/NoSQL - Programmation

Marsh Posté le 01-03-2010 à 15:45:57    

Bonjour,
 
Je suis en train de developper une petite appli intranet. la base de donnees devra etre mise a jour toutes les 20 minutes de 4h du matin a 23h. Ces mises a jour comporteront des traitements qui, me semble t il, ne sont pas faisables en SQL. J'aimerai connaitre votre avis sur la maniere d'executer ces MAJ. Je pourrais lancer une page web sur un serveur qui s'actualiserai toutes les 20 minutes, mais je n'aime pas trop ca, il ne faut pas que la page web plante ou se ferme. J'aurais bien aime faire une procedure stockee, mais au vu des traitements, je ne pense pas que cela soit possible.
 
Orientez moi svp !
 
Vincent

Reply

Marsh Posté le 01-03-2010 à 15:45:57   

Reply

Marsh Posté le 01-03-2010 à 16:10:21    

Si t'es sous Linux, y'a un truc formidable qui s'appelle le cron qui fait gestionnaire de taches planifiées, fais une recherche dessus.
Si t'es sous Windows, y'a un truc formidable qui s'appelle, heu, scheduled tasks (dans le control panel) qui fait, heu, gestionnaire de taches planifiées, fais une recherche dessus.
Si t'as un autre OS, j'en sais rien.

 

Après, procédure stockée ou programme dans le langage que tu veux, peu importe... Juste par curiosité, c'est quoi qui t'empecherait de faire en procédure stockée?


Message édité par lasnoufle le 01-03-2010 à 16:10:29

---------------
C'était vraiment très intéressant.
Reply

Marsh Posté le 01-03-2010 à 16:29:04    

Merci beaucoup pour ces infos, je ne m'y connais pas du tout, en general je fais que de la programmation, mais comme le service info est deborde et que je fais de la prog, je sais forcement mettre en place un tel systeme... !
 
Ce qui m'empecherait de faire les traitements sur la bdd, c'est que je vais chercher des donnees a partir d'une autre bdd. L'une est sous Oracle, l'autre sous MySQL.

Reply

Marsh Posté le 01-03-2010 à 18:30:33    

Ha ouais, effectivement, j'ai jamais eu l'occasion de tester ca. Y a de grandes chances pour que tu puisses pas le faire en PL/SQL... Donc outil à part lancé par le scheduler en fonction de ton OS.
 
Sinon, je connais ca, mais à moins que tu veuilles rester full dev toute ta vie, c'est pas plus mal de connaitre un peu de trucs "généraux" à coté, parce que selon la culture info de ta boite, tu peux vite passer pour un dieu sans trop d'efforts (bon ok j'exagère un peu mais pas loin).


---------------
C'était vraiment très intéressant.
Reply

Marsh Posté le 02-03-2010 à 10:10:53    

Ca m'interesse beaucoup d'elargir mon domaine de competences, cependant c'est le delais imparti qui est assez juste, avec le boulot que je dois continuer de faire a cote. En fait il aurait fallu que tout soit fait avant d'avoir commence !
 
Pour en revenir au sujet, tu penses que lancer un page php de traitement via le plannificateur des taches est la meilleure solution pour gerer mes traitements en BDD ? (Je n'en vois pas d'autres, mais au cas ou !)

Reply

Marsh Posté le 02-03-2010 à 10:43:16    

c'est quoi comme type de traitement?
 
si c'est juste pour mettre a jour une info a partir d'une autre db, tu dois juste utiliser un scheduler, et faire communiquer les deux bases via un dblink

Reply

Marsh Posté le 02-03-2010 à 11:11:34    

Effectivement, il y a les dblink, j'ai jamais pratiqué mais ca pourrait etre une très bonne solution!
 
Une page PHP, c'est un peu "lourd" on va dire, faut avoir un serveur qui tourne et etre sur qu'il sera toujours up.
Les autres choix: un programme en Java/C/C++/autre (un peu lourd aussi), un script batch peut très bien faire le boulot aussi je pense, comme dit casimimir, tout dépend du traitement que tu dois faire.
 
Moi j'ai envie de dire, si t'es pressé, utilise un truc que tu maitrises et qui marchera meme si c'est pas optimal, et si tu prends des remarques dans la gueule, ben tu leur rappelles que t'es pas là pour ca et qu'on est jamais aussi bien servi que par soi-meme.


---------------
C'était vraiment très intéressant.
Reply

Marsh Posté le 02-03-2010 à 13:13:26    

En fait je vais chercher des chiffres dans ma base Oracle et ma base MySQL, j'effectue des operations sur ces chiffres et enregistre les resultats dans une base MySQL.  
 
Je sais, c'est mal foutu mais le systeme informatique n'est vraiment pas optimal ou je travail, on fait avec les moyens du bord dirons nous !

Reply

Marsh Posté le 03-03-2010 à 16:46:35    

Re !
 
C'est decide, je vais utiliser le plannificateur des taches de windows pour lancer mes mises a jour. Cependant je rencontre une petite difficulte, j'ai creer ma tache en lancant mozilla a l'heure voulu, mais comment met on en parametre une adresse URL ?
 
C:\PROGRA~1\MOZILL~1\firefox.exe -url http://monadresse.com ?

Reply

Marsh Posté le 03-03-2010 à 16:54:06    

firefox http://monadresse.com


---------------
C'était vraiment très intéressant.
Reply

Marsh Posté le 03-03-2010 à 16:54:06   

Reply

Marsh Posté le 03-03-2010 à 17:09:13    

Je ne comprends pas tres bien, tu ajoutes l'adresse dans le nom de la tache ? Dans la petite fenetre "demarrer dans : " ?

Reply

Marsh Posté le 03-03-2010 à 19:01:35    

tu mets ça dans le executer de ta tache planifiée sans le "-url":
C:\PROGRA~1\MOZILL~1\firefox.exe http://127.0.0.1/XXXX/XXXX.php

Reply

Marsh Posté le 04-03-2010 à 10:38:22    

OK merci beaucoup !

Reply

Marsh Posté le 04-03-2010 à 15:34:18    

Ce topic fait double emploi avec celui-ci du même auteur : http://forum.hardware.fr/hfr/Progr [...] 7902_1.htm


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 06-03-2010 à 20:51:30    

tu peux utiliser php comme interpréteur de script, sans forcément passer par un navigateur internet, avec php.exe
 
sous oracle tu as un scheduler interne accessible avec le package dbms_job : intéressant si tu fais tout depuis oracle sans appel système

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed