2015-03-06 3 views
1

Comment puis-je demander à mon travailleur de demander plus de temps pour travailler? J'utilise la bibliothèque pheanstalk. Le travail est une analyse d'un fichier qui, selon le fichier, peut prendre plus de 60 secondes, le ttr par défaut. Je suis nouveau à faire la queue et j'ai parcouru les exemples que j'ai trouvés en ligne. Si je fais cela mal, s'il vous plaît dites-le. J'ai essayé d'obtenir les jobstats et d'écrire un conditionnel basé sur la valeur time-left mais je n'ai pas réussi à le faire fonctionner. Lorsque j'utilise la fonction jobStats dans pheanstalk, le résultat est un tableau d'objets privés. Ce que je veux c'est que le script attende que l'exec soit complet, quelle que soit la durée.Pheanstalk touche le travail pour demander plus de temps

Répondre

2

Vous avez deux options pour prolonger le temps de travail sur un travail. La première option consiste à définir votre propre valeur TTR lorsque le travail est inséré dans la file d'attente. La valeur par défaut est 1 minute mais vous pouvez la définir comme vous le souhaitez. C'est probablement votre meilleure option. En supposant que vous utilisez pheanstalk pour créer le travail que vous pouvez faire

$pheanstalk->putInTube(tube, data, priority, delay, ttr) or $pheanstalk->put(data, priority, delay, ttr);

Vous pouvez appeler $pheanstalk->touch($job) qui réinitialisera le compte à rebours sur votre TTR, mais vous serez toujours vous serez toujours limité à l'ensemble valeur TTR qui dans votre cas, c'est 1 minute.