2010-02-26 5 views
0

Je prévois d'avoir une vue qui présente un bouton de sorte que quand on clique dessus, il va exécuter un travail Quartz et la page se terminera le chargement avec succès (pas besoin d'attendre le travail à finir). Basé sur ce documentation, vous pouvez avoir une classe de déclenchement personnalisée. Pouvez-vous m'aider à le mettre en œuvre?Exécution d'une tâche en arrière-plan en utilisant le plugin Quartz

Mon travail:

class ReconciliationJob { 
    static triggers = { 
     custom name:'customTrigger', triggerClass:ReconciliationTrigger, targetDate:myValue 
    } 


    def execute() { 
     // execute task 
    } 
} 

Comment puis-je mettre en œuvre la classe ReconciliationTrigger? Aussi, j'ai besoin de passer un paramètre au travail aussi.

Merci.

+0

Pourquoi voulez-vous utiliser un déclencheur personnalisé? ne pouvez-vous pas réaliser ce que vous voulez en utilisant un simple déclencheur? Que fait votre déclencheur? Merci –

+0

si un simple déclencheur fait le travail, ce serait mieux. Fondamentalement, je voudrais savoir comment exécuter un travail d'un contrôleur et passera des paramètres aussi. – firnnauriel

Répondre

4

Je pense que vous avez mélangé des tâches et des files d'attente.

Les tâches de quartz sont des tâches d'arrière-plan qui s'exécutent sur un déclencheur temporel et qui ne sont pas conçues pour être déclenchées par des événements pilotés par l'utilisateur.

Les files d'attente, telles que JMS, vous permettent d'envoyer un «message» asynchrone (appel de méthode) de la manière que vous décrivez. Jetez un oeil à la Grails JMS plugin et il pourrait être ce que vous cherchez.

+0

merci pour cette info. En effet, je ne suis pas au courant du concept de files d'attente ou de la structure de messagerie dans les grails jusqu'à présent. va regarder dans plus. mais n'hésitez pas à fournir la solution pendant que je me familiarise avec JMS – firnnauriel

+0

Et vous pouvez vous sentir libre de poster la solution quand vous avez travaillé :-) –

Questions connexes