darksimonus
Nombre de messages : 732 Date d'inscription : 12/09/2007
| Sujet: Global Task 22/04/10, 02:21 pm | |
| Bonjour à tous,
J aurais aimé savoir si j'étais le seul à avoir des probleme de global task cela est un probleme qui a toujours exister pour ma part sur L2Jfree. Les global Task lancant des pythons (genre pour autoevent) marchent en moyen 1 jours sur 2. je met bien 1 dans le premier paramètre puis l'heure dans le second paramètres
Quelqu'un connait ce probleme | |
|
Psychokiller1888
Nombre de messages : 114 Age : 40 Localisation : Suisse Date d'inscription : 24/02/2008
| Sujet: Re: Global Task 29/04/10, 12:36 pm | |
| Le soucis est simple: Tu lances via une entrées dans global_tasks, une tâche de type TYPE_GLOBAL_TASK. Jusque là tout est normal. Mettons que le jython que tu appelles lance un tvt par exemple, simple à faire. Le premier lancement du serveur la colone "last_activation" ne contient rien, un timer est lancé pour l'heure que tu as renseigné en colone param2. A l'heure indiquée, ton script se lance. Et c'est là que ce trouve le soucis. Le script prend du temps pour se dérouler du début à la fin, comme mes tvt qui dure 20 minutes... La colone "last_activation" sera mise à jour avec "heure de start + temps execution du script". Donc mettons que tu lances un event de 15 minutes à 16h, last_activation contiendra 16h+15min. Vu que tu le lances tous les jours, le lendemain au load des tâches, il doit lancé à 16h ton tvt, mais avec un interval de 24h par rapport au dernier lancement. Tu peux pas, parce que l'heure mini pour lancer est à 16h15 alors que tu veux lancer à 16h... Donc ce jourtombe à l'eau, par contre le lendemain ce sera ok à nouveau puisque le dernier lancement du script était 47h45 plus tôt donc plus grand que 24h. A moin que ça ai changé depuis, mais y'a un moment le soucis était là. Sinon c'est un soucis de milisecondes Pour confirmer, ce soir si une de tes tâches jython se lance, donne moi l'heure à laquelle elle doit se lancer d'après la table global_tasks et donne moi le last_activation qui s'est inscris une fois l'event terminé stp. Si ce que je dis c'est pas n'importe quoi, le coup du temps d'execution du script, un fix possible pourrais être: - Code:
-
### Eclipse Workspace Patch 1.0 #P Semper Fidelis Index: trunk/l2jfree-core/src/main/java/com/l2jfree/gameserver/taskmanager/tasks/TaskManager.java =================================================================== --- trunk/l2jfree-core/src/main/java/com/l2jfree/gameserver/taskmanager/tasks/TaskManager.java (revision 2043) +++ trunk/l2jfree-core/src/main/java/com/l2jfree/gameserver/taskmanager/tasks/TaskManager.java (working copy) @@ -140,15 +140,6 @@
public void run()
{
- try
- {
- _task.onTimeElapsed(this, getParams());
- }
- catch (Exception e)
- {
- _log.warn(this, e);
- }
-
Connection con = null;
try
{
@@ -168,6 +159,15 @@ {
L2DatabaseFactory.close(con);
}
+
+ try
+ {
+ _task.onTimeElapsed(this, getParams());
+ }
+ catch (Exception e)
+ {
+ _log.warn(this, e);
+ }
if (_type == TYPE_SHEDULED || _type == TYPE_TIME)
stopTask();
Maintenant pour corriger réellement il me faudrait les données. EDIT: Mon script tvt devait se lancer à 16:00:00 avant hier. Il s'est lancé, les joueurs l'ont joué. Mais si je convertis last_activation, il me donne: Tue, 27 Apr 2010 14:30:31 GMT Donc last_activation s'est inscrit à la fin du tvt C'est à dire 16h + les 10 minutes d'enregistrement + les 20 minutes de jeu + les teleports back et le nettoyage = 16h30:31 secondes. Le patch devrait corriger le soucis, puisqu'il inscris d'abord le last_activation puis execute la tâche. Merci de me confirmer si ça résoud le soucis, et dans le cas d'une résolution, je corrigerai les sources l2jfree directement. | |
|
Psychokiller1888
Nombre de messages : 114 Age : 40 Localisation : Suisse Date d'inscription : 24/02/2008
| Sujet: Re: Global Task 07/05/10, 09:32 am | |
| De rien hein! C'était avec plaisir! Surtout merci de m'avoir dis si oui ou non ça foctionne En gros, les prochaines questions, tu peux aller te brosser! A bon entendeur! | |
|
darksimonus
Nombre de messages : 732 Date d'inscription : 12/09/2007
| Sujet: Re: Global Task 10/05/10, 09:37 am | |
| j'étais en vacances et je viens juste de retrouvé le post
merci à toi, désolé du retard
j'en parle aux personnes s occupant du java chez moi et je ferais un retour | |
|
Psychokiller1888
Nombre de messages : 114 Age : 40 Localisation : Suisse Date d'inscription : 24/02/2008
| Sujet: Re: Global Task 10/05/10, 10:14 am | |
| L'entier a été revisité par NBali et moi et completement debug puis commit sur l2jfree, update sur 8370 | |
|
darksimonus
Nombre de messages : 732 Date d'inscription : 12/09/2007
| Sujet: Re: Global Task 11/05/10, 08:51 am | |
| super mille merci faut maintenant qu'on remonte nos 600rev de retard encore merci | |
|