I configured my cron.xml and backends.xml to be run on google app engine as following :
cron.xml
<cronentries>
<cron>
<url>/_ah/start</url>
<schedule>every 5 minutes</schedule>
<target>updatebackend</target>
</cron>
</cronentries>
backends.xml
<backends>
<backend name="updatebackend">
<class>B1</class>
<options>
<dynamic>true</dynamic>
<public>false</public>
</options>
</backend>
</backends>
Then on my web.xml file I wrote like following :
web.xml
<servlet>
<servlet-name>update</servlet-name>
<servlet-class>com.test.UpdateBackendServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>update</servlet-name>
<url-pattern>/_ah/start</url-pattern>
</servlet-mapping>
<security-constraint>
<web-resource-collection>
<web-resource-name>mybackend</web-resource-name>
<url-pattern>/_ah/start</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
But when I deploy and run it on the google app engine, it always run twice. And my questions are :
- How can I make another url-pattern besides /_ah/start?
- How can I make it only run one time?
Thanks.