Question

Je cherche une bonne bibliothèque pour les tâches de traitement (ou « opérations » comme on les appelle dans notre modèle de domaine) pour Java ou .NET. Nous économisons chaque opération à effectuer dans db et nous avons besoin d'un mécanisme pour extraire les tâches non traitées de db, de les traiter et mettre à jour record db avec état correct ( « traité OK » / 'erreur de processus).

L'astuce est que l'opération peut dépendre d'une autre. Par exemple, lorsque l'opération « paiement » est en cours de traitement, le système pourrait découvrir que nous devons effectuer des « données de contrôle d'opération de paiement » avant - il devrait donc créer une nouvelle ligne d'opération dans db, mettre en pause l'exécution « Opération paiement », processus « Opération Data Check Paiement »dans le prochain tour et après avoir terminé revenir au traitement « Paiement de fonctionnement ».

Je vais vous montrer comment nous gérons ce le moment.

Nous avons « opérations » db tableau. Cron mécanisme analogue exécute chaque minute et récupère 100 premières opérations non transformées de db et le traiter. Si (tout traitement) constate que le système d'une autre opération (B) est nécessaire pour effectuer l'opération en cours (A), puis nouveau record opération (B) est créé et effectuer l'opération en cours (A) est interrompue. Cron minute suivante va chercher des opérations A et B. A est l'opération va chercher comme il est pas traité mais le système voit cette opération dépendante B est déjà créé de sorte qu'il ne crée pas une nouvelle fois. Opération B est traitée et l'état « traité OK » est enregistré dans une bonne ligne de db. Cron minute suivante va chercher opération A de db et peut enfin réaliser parce que la tâche dépendante est terminée.

Nous cherchons des moyens pour le rendre plus simple, mieux et plus élégant.

Était-ce utile?

La solution

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top