- Existe-t-il un moyen de garantir l'exécution d'une tâche dans X minutes (ou après X min)? (taux signifierait les intervalles entre les tâches mais qu'en est-il de la première tâche, la première tâche commencerait-elle après le temps 'rate'?)
Répondre
Si vous voulez dire 'au moins X minutes à partir de maintenant', oui - utilisez le task queue API.
vous aurez envie de regarder le compte à rebours, qui fait exactement ce que vous voulez. –
Google a mis à jour cette partie de leur API (see here). Vous pouvez maintenant envoyer dans un 3ème paramètre avec PushTask contenant les options suivantes:
- 'méthode': string L'une des 'POST', 'GET', 'HEAD', 'PUT', 'DELETE'. Valeur par défaut: 'POST'. 'Nom': chaîne Nom de la tâche. Par défaut, cela signifie que le service générera un nom de tâche unique. 'Delay_seconds': float Temps d'attente minimum avant l'exécution de la tâche. Par défaut: zéro.
- 'header': string En-têtes supplémentaires à envoyer lorsque la tâche est exécutée.
En PHP
$task = new PushTask(
'/some/callback',
['param1' => $param1, 'param2' => $param2, 'param3' => $param3],
['name'=>'EmailTask', 'method'=>'POST', 'delay_seconds'=>30]
);
Ou plus simplement (il est un POST par défaut)
$task = new PushTask(
'/some/callback',
['param1' => $param1, 'param2' => $param2, 'param3' => $param3],
['delay_seconds'=>30]
);
Plus d'infos ici: https://cloud.google.com/appengine/docs/standard/php/refdocs/classes/google.appengine.api.taskqueue.PushTask – lifeofguenter
par @Peter commentaire de Recore, le champ countdown
dans add()
est « Temps en secondes dans l'avenir que cette tâche devrait exécuter, par défaut à zéro. "
Documentation: https://cloud.google.com/appengine/docs/python/refdocs/google.appengine.api.taskqueue
Utilisation de l'API TaskQueue
public class Enqueue extends HttpServlet {
private static final Logger log = Logger.getLogger(Enqueue.class.getName());
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String param1= request.getParameter("param1");
String param2= request.getParameter("param2");
String time = request.getParameter("time");
int timer = Integer.parseInt(time) * 1000;//sec to millisec
log.info("Executing in "+ timer+" seconds");
// Add the task to the default queue.
// Execute in 5 seconds
Queue queue = QueueFactory.getDefaultQueue();
queue.add(TaskOptions.Builder.withUrl("/index1").param("param1", param1)
.param("param2", param2)
.countdownMillis(time));
response.sendRedirect("/");
}
}
définir maintenant le travail en classe Index1
public class Index1 extends HttpServlet {
private static final Logger log = Logger.getLogger(Index1.class.getName());
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
String param1= req.getParameter("param1");
String param2= req.getParameter("param2");
log.info("Worker processing " + param1);
/*Define job to be executed*/
}
}
- 1. GAE Task Queue étrangeté
- 2. flash débutant - retarder le cadre pendant X secondes puis continuer
- 3. Task Queue VS. URLFetch
- 4. Task Queue Java API
- 5. Affichage de UIActivityIndicator pendant x secondes
- 6. UIButton actionafter maintenu pendant x secondes
- 7. flash/actionscript pour afficher une image pendant x secondes
- 8. prototype - comment retarder un appel à cacher() de 10 secondes
- 9. Retarder la charge javascript externe par secondes
- 10. Un bon moyen de retarder une application pendant le démarrage d'un service?
- 11. Comment retarder une tâche avec Celery?
- 12. Céleri, Django .. faire une sous-tâche/threads Task/thread lancement?
- 13. Quelle exception App Engine génère lorsqu'une tâche approche la limite de 30 secondes?
- 14. texte d'affichage de l'étiquette pendant 10 secondes
- 15. GAE Tâche Files d'attente comment faire le retard?
- 16. Afficher un UILabel pendant * secondes; d'autres façons qu'avec NSTimer?
- 17. Comment afficher un traitement pendant une tâche d'arrière-plan?
- 18. Je devrais pouvoir retarder 2 secondes using NSTimer. Comment faire?
- 19. Pouvez-vous faire un délai d'appel rpc après x secondes?
- 20. Essayer de retarder un message jQuery
- 21. php dans les x secondes de l'heure
- 22. Les requêtes LDAP suspendues pendant 15 secondes
- 23. Reporter le postback pendant 3 secondes?
- 24. Afficher jQuery pendant 5 secondes puis masquer
- 25. Retarder un extrait de code
- 26. Terminal Run Code pendant n secondes
- 27. Comment figer un script PHP pendant quelques secondes?
- 28. Comment transmettre des données compressées à l'aide de l'API Python Task Queue dans App Engine?
- 29. Retarder l'exécution du code?
- 30. JQuery (charger l'image, rétrécir après x secondes)
i mis à jour le titre à être représentatif de la question réelle posée. –