2012-03-04 69 views
0

從版本提交任務時,任務將以不同的版本結束以供執行。我如何使任務在相同的部署版本中執行?在不同的部署版本中使用Google Appengine Taskqueue

注: 我queue.xml中嘗試「目標」,結果是一樣的。任務將以隨機的不同版本執行。它並不總是一樣的。

我的設置有什麼問題?

[UPDATE]

<queue> 
    <name>shopinionMessage</name> 
    <rate>10/s</rate> 
    <retry-parameters> 
     <task-retry-limit>60</task-retry-limit> 
     <min-backoff-seconds>1</min-backoff-seconds> 
     <max-backoff-seconds>30</max-backoff-seconds> 
     <max-doublings>0</max-doublings> 
    </retry-parameters> 
    <target>2</target> 
    </queue> 
+0

試過..什麼?您是否嘗試過在[隊列配置文檔](http://code.google.com/appengine/docs/java/config/queue.html#Queue_Definitions)上的queue.xml中定義特定的? – 2012-03-04 04:00:53

+0

是的,我試過'目標'。但是,它沒有工作。 – angelokh 2012-03-04 04:31:14

+1

''正是你所需要的。如果它不起作用,那麼這是GAE中的一個錯誤,您應該填寫一份錯誤報告:http://code.google.com/p/googleappengine/issues/list – 2012-03-04 15:00:28

回答

0

https://developers.google.com/appengine/docs/java/config/queue#target說,目標是

的字符串命名的模塊/版本,一個前端版本,或後端,在其上執行此任務。

你有模塊吧?如果是的話,你應該嘗試my-version.my-module作爲target;不幸的是,你不會有任何運氣無論是作爲現在:https://code.google.com/p/googleappengine/issues/detail?id=10954

順便說一句,沒有目標就不應是隨機的地方執行任務:

如果目標是不確定的,那麼在它們入隊的應用程序的相同版本上調用任務。因此,如果您從默認應用程序版本中排除任務而未指定隊列上的目標,則會在默認應用程序版本中調用該任務。請注意,如果默認應用程序版本在任務排隊時間和執行時間之間發生變化,則任務將以新的默認版本運行。