2015-02-09 27 views
1

如何在GAE/J cron中指定模塊和版本?GAE/J模塊和版本Cron

我看了this頁面。

目標字符串預先添加到您應用的主機名。 它通常是模塊的名稱。 cron作業將被路由到命名模塊的默認版本。 請注意,如果模塊的默認版本更改, 作業將以新的默認版本運行。

如果沒有名稱爲assigend的模塊作爲目標,則 的名稱假定爲應用程序版本,App Engine將嘗試 將作業路由到該版本。請參閱關於appengine-web.xml

我的理解是模塊名稱或版本可以在<target>中指定,但我想指定模塊名稱和版本。

我該怎麼做?

+0

你是否能夠做到這一點? – Patrick 2016-11-24 02:21:18

回答

0

爲了實現你的目標,你將需要尋找兩個文件(AppEngine上-web.xml中,cron.xml),正如你已經說你cron.xml的目標標籤將允許您設置模塊或版本名稱,所以爲了能夠做到你所需要的,你可以在appengine-web.xml中設置應用程序名稱和模塊版本,然後你可以在你的cron.xml的目標標籤中定義模塊名稱。

App Engine Java應用程序的WAR中必須在目錄WEB-INF中有一個名爲appengine-web.xml的文件。這是一個XML文件,其根元素爲<appengine-web-app>。指定應用程序ID,一個版本標識符,並沒有靜態文件或資源文件的最小文件看起來像這樣:

<?xml version="1.0" encoding="utf-8"?> 
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0"> 
    <application>_your_app_id_</application> 
    <version>1</version> 
    <threadsafe>true</threadsafe> 
</appengine-web-app> 

在應用程序的WEB-INF目錄中的文件cron.xml(旁邊AppEngine上的Web .xml)爲您的Java應用程序控制cron。下面是一個例子cron.xml文件:

<?xml version="1.0" encoding="UTF-8"?> 
<cronentries> 
    <cron> 
    <url>/weeklyreport</url> 
    <description>Mail out a weekly report</description> 
    <schedule>every monday 08:30</schedule> 
    <timezone>America/New_York</timezone> 
    <target>version-2</target> 
    </cron> 
</cronentries> 

希望它可以幫助

0

你會achive你的目標,如果你在這樣的格式指定目標:「版點模塊」

這是工作對我來說:

<cron> 
    <url>/cron/test-cron</url> 
    <description>test-cron</description> 
    <schedule>every 1 minutes synchronized</schedule> 
    <target>v-5-1-dot-my-module-name</target> 
</cron> 

v-5-1 - 我的模塊 我的模塊名稱的版本 - 我的名字模塊的