J'ai une application scientifique locale qui utilise des threads pour traiter des pièces indépendantes d'un grand calcul. Mon groupe aimerait que cela devienne une application web, alors maintenant je réfléchis à la façon de le porter (donc s'il vous plaît, pardonnez toute déclaration complète). J'utilise Google App Engine pour prendre en charge la partie "Web", mais je suis toujours en train de déterminer quelles autres traductions sont appropriées. Ma première inclination était de laisser le calcul complètement tel quel (par exemple, digérer certaines données de forme web dans le format approprié, le passer dans le calculateur qui engendre des threads, etc.).Google App Engine: tâches et threads?
Cependant, je lis aussi sur Queue
s + TaskOptions
- ce genre de ressemble à ce que je devrais utiliser au lieu de ExecutorService
+ Callable
. Les sous-calculs individuels peuvent prendre un peu de temps à traiter (bien qu'ils puissent aussi différer considérablement en termes de temps), donc je suppose que, idéalement, je voudrais qu'un utilisateur demande le calcul entier et soit ensuite amené à une page qui charge les résultats à mesure qu'ils deviennent disponibles.
Est-ce que la bonne chose à utiliser est Queue
s + TaskOptions
? Si non, qu'est-ce que c'est? Si oui, y a-t-il des exemples parallèles pratiques à ce que je cherche à faire? Enfin, mon groupe a quelques scrupules à court terme à propos de la publication à grande échelle des calculs internes, de sorte que ses détails sont tous côté serveur - cela devrait-il apaiser ces inquiétudes? En fin de compte (après certaines publications, etc.), nous prévoyons de rendre ces éléments internes disponibles et probablement que la version Web pourrait déplacer le côté client de calcul. Y a-t-il un moyen préférable de mettre en œuvre maintenant qui rendra cette future traduction plus simple? Ou cela ne vaut-il même pas la peine de s'inquiéter (puisque j'ai déjà une version "côté client" dans mon application locale)?
okay, bon à savoir re threads - un aperçu sur les autres parties de ma question? – Carl