2012-07-01 6 views
2

Exécution Fedora, PHP/Gearman/MySQL/Drizzle.Test Gearman/MySQL - Couche de persistance

Construit Gearman/Drizzle à partir de la source, et fait fonctionner le processus sur une boîte Linux/Fedora. J'ai créé la table de test mysql, et je peux voir que l'instance de Gearman Daemon peut accéder/s'interfacer avec le service mysql. Je cours les processus de Gearman et de mysql sur la même boîte, en utilisant TCP. Lorsque Gearman est démarré et pointe vers le compte MySQL, je peux voir les instructions de sélection initiales dans les informations DEBUG qui s'affichent pendant l'exécution du processus Gearman.

Cependant, je ne suis pas sûr de ce que je dois faire pour tester réellement qu'un travail du client est stocké dans la table mysql.

J'ai créé un client de test qui réplique le test «Review» Client/Worker de Gearman, qui fonctionne normalement si le worker est en cours d'exécution et qui exécute le client sans le worker. Je vois dans le processus DEBUG que le client se connecte avec le démon Gearman, mais quand j'examine la table mysql, rien n'est dans la table. Donc, ma question se résume à déterminer ce que je dois faire pour être en mesure de voir/s'assurer que les emplois/données sont réellement écrits sur la table mysql réelle.

Y a-t-il un indicateur donné, une méthode pour appeler quelque part pour établir que les données doivent être stockées dans la table mysql si elles ne sont pas traitées par le travailleur? Un travail ne doit-il pas être stocké dans la table, puis supprimé une fois qu'il a été traité? Ou ai-je oublié quelque chose dans le flux?

+0

Je ne sais pas comment les flux fonctionne exactement, mais je suggère de soumettre un emploi (sans le travailleur), puis vérifier la file d'attente du travail via le protocole administratif de gearmand. S'il est dans la file d'attente, il devrait également figurer dans la table. – Aurimas

Répondre

Questions connexes