Re: Executer une tache à la se conde près


#1

Bonjour,

je te recommande la solution suivante : un daemon ruby auprès duquel tu
peux enregistrer une URL et une date/heure à laquelle rappeler cette
URL.L’avantage de cette solution est qu’il existe déjà un tel daemon :
http://code.google.com/p/ruby-taskr/.

En pratique, quand une action Rails déclenche le départ d’un camion,
elle va également envoyer une demande à ce daemon pour que celui-ci
appelle l’action ‘le camion est arrivée’ à l’heure prévue.

++
Bruno M.


#2

gé-nial !!! ça a l’air de répondre exactement à ce qu’il me faut.

merci beaucoup (-:

gUI

Le 18 octobre 2008 23:21, Bruno M. removed_email_address@domain.invalid a écrit :

l’action ‘le camion est arrivée’ à l’heure prévue.

++
Bruno M.


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/


#3

Par expérience je conseille fortement que la logique applicative ne
soit pas tributaire de la date exacte de démarrage.

Si tu regardes mon algo avec le cron, ça marche : en effet, si tu
arrives Ã
la bourre, tous ceux qui devraient etre arrivés arrivent, et à l’heure
prévue (et non à l’heure actuelle).

Je pense que c’est directement adaptable à taskr. Je verifierai si taskr
peut prendre en compte des tâches passées (et donc remonter une file
d’attente trop longue, ou compenser une indisponibilité passagère).

Ce projet a l’air très intéressant, tu as une URL pour avoir plus
d’information sur le contexte du jeu ?

Non, pas du tout, mais dès que j’ai besoin de testeurs je penserai à toi
(((-:

gUI


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/


#4

Je verifierai si taskr peut prendre en compte des tâches passées (et donc
remonter une file d’attente trop longue, ou compenser une indisponibilité
passagère).

Après un essai rapide (je programme un tâche, j’arrête taskr, j’attends
de
dépasser l’heure de la tâche, puis je relance taskr), c’est pas le cas :
ma
tâche est rayée, mais n’a pas été exécutée.

Bon, c’est pas bloquant en soit, et puis je peux espérer cette nouvelle
fonctionnalité pour une prochaine version (-;

gUI


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/


#5

Bonjour,

On 19 oct, 08:42, “Guillaume B.” removed_email_address@domain.invalid
wrote:

l’action ‘le camion est arrivée’ à l’heure prévue.

++
Bruno M.

Ce qui sera intéressant de vérifier c’est à partir de combien
d’événements dans la même seconde le scheduler ne sera pas capable
de délivrer les événements dans la même seconde.
Par expérience je conseille fortement que la logique applicative ne
soit pas tributaire de la date exacte de démarrage.
De même en cas de plantage, comment délivrer les événements qui
auraient du avoir lieu ?
Le scheduler semble tout gérer en mémoire donc a priori pas de journal
pour reprendre…

Ce projet a l’air très intéressant, tu as une URL pour avoir plus
d’information sur le contexte du jeu ?

Romuald


#6

2008/10/19 Guillaume B. removed_email_address@domain.invalid:

Je verifierai si taskr peut prendre en compte des tâches passées (et donc
remonter une file d’attente trop longue, ou compenser une indisponibilité
passagère).

Après un essai rapide (je programme un tâche, j’arrête taskr, j’attends de
dépasser l’heure de la tâche, puis je relance taskr), c’est pas le cas : ma
tâche est rayée, mais n’a pas été exécutée.

Ca peut etre voulu comme type de comportement. Apres tout si tu
programmes une tache pour une heure precise, tu ne veux pas forcement
qu’elle soit lancee quand meme si l’heure est depassee. Si tu
programmes des taches repetitives par exemple, genre toutes les 5
secondes et que pour une raison ou pour une autre, elles ne sont pas
lancees pendant 1h, tu ne vas pas forcement vouloir que tes 720 taches
ratees soient lancees quand meme si?

Si tu as besoin de cette fonction, je verrai plutot ca comme un test a
ajouter au lancement de tes taches.


Baptiste -desole pour les accents, clavier sans-


#7

Ca peut etre voulu comme type de comportement.

Ah mais totalement ! Mon besoin n’a rien de typique… Idealement taskr
pourrait proposer les 2 comportements.

Si tu as besoin de cette fonction, je verrai plutot ca comme un test a
ajouter au lancement de tes taches.

Oui, ou périodiquement (et là un cron fera très bien le boulot), je peux
récupérer les tâches en retard non exécutées, et les exécuter moi-meme.
Ca
sert un peu de solution de secour pour passer derrière taskr et faire ce
qu’il n’a pu faire.

gUI


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/


#8

Bonjour,

Je voudrais lancer taskr en meme temps que mon site. La commande “taskr”
est
en fait un script ruby dont voici l’intégralité :


#!/usr/bin/ruby18

This file was generated by RubyGems.

The application ‘taskr’ is installed as part of a gem, and

this file is here to facilitate running it.

require ‘rubygems’

version = “>= 0”

if ARGV.first =~ /^(.*)$/ and Gem::Version.correct? $1 then
version = $1
ARGV.shift
end

gem ‘taskr’, version
load ‘taskr’

Y a-t-il un moyen de lancer taskr directement dans mon appli rails ?

Merci beaucoup (-:

gUI


Pour la santé de votre ordinateur, préférez les logiciels libres.
Lire son mail : http://www.mozilla-europe.org/fr/products/thunderbird/
Browser le web : http://www.mozilla-europe.org/fr/products/firefox/
Suite bureautique : http://fr.openoffice.org/