我正在使用任务队列来长时间处理我的请求。这样做我遇到了一个问题。有时,当任务正在运行时,同一个任务在另一个新实例中启动,导致这两个并行运行,这使得我在我的应用程序中重复该过程。
我想知道为什么同一个进程同时在两个不同的实例中运行,以及使app引擎创建另一个实例以提供相同请求的原因是什么。
以下信息是我的日志所说的:
2014-05-16 23:05:39.479 /tasks/handleRequest 200 414808ms 0kb AppEngine-Google; (+http://code.google.com/appengine) module=default version=new
0.1.0.2 - - [16/May/2014:10:35:39 -0700] "POST /tasks/handleRequest HTTP/1.1" 200 243 "http://xxxxx.appspot.com/tasks/doThis" "AppEngine-Google; (+http://code.google.com/appengine)" "xxxxx.appspot.com" ms=414808 cpu_ms=11656 cpm_usd=0.022667 queue_name=handleRequestQueue task_name=7287390692361099748 app_engine_release=1.9.4 instance=00c61b117cf4e0fae1562997464c2608f682c5fd
2014-05-16 23:05:39.476 /tasks/handleRequest 200 96058ms 0kb AppEngine-Google; (+http://code.google.com/appengine) module=default version=new
0.1.0.2 - - [16/May/2014:10:35:39 -0700] "POST /tasks/handleRequest HTTP/1.1" 200 243 "http://xxxxx.appspot.com/tasks/doThis" "AppEngine-Google; (+http://code.google.com/appengine)" "xxxxx.appspot.com" ms=96059 cpu_ms=5763 cpm_usd=0.005221 queue_name=handleRequestQueue task_name=7287390692361099748 app_engine_release=1.9.4 instance=00c61b117c5727320ffc257d7fd1d518c66f76fd
通过查看上述日志,相同的任务在不同的实例中运行。任何人都可以告诉我这是什么原因以及如何避免这种情况,因为这会在我们的应用程序中产生关键问题。
任何帮助都会非常明显......!
感谢。