どうもダメそうなので試行錯誤してみました。
今回は、appspot.com/cron/backupをcronで動かすことにします。
まず、elipseプロジェクトにweb.xmlとcron.xmlを新規作成します。
cron.xmlを以下のように書きます。
以下の例は、/cron/backupを毎時間叩くように指定します。
cron.xml
<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
<cron>
<url>/cron/backup</url>
<description>save contents every 1 hours</description>
<schedule>every 1 hours</schedule>
<timezone>Asia/Tokyo</timezone>
<target>save</target>
</cron>
</cronentries>
次に、web.xmlでルーティングの設定を以下のように書きます。
<servlet>と<servlet-mapping>は、servlet-nameでひもづけします。
web.xml
試行錯誤して、queue.xmlを新規作成します。
queue.xmlは今回使わないので<queue-entries>タグのみ追加。
queue.xml
デプロイして確かめてみると、on time Success
queue.xmlを追加したところ、cronが動くようになりました。<servlet>と<servlet-mapping>は、servlet-nameでひもづけします。
web.xml
<?xml version="1.0" encoding="utf-8"?>デプロイして確かめてみると、on time Failed
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<servlet>
<servlet-name>Btools</servlet-name>
<servlet-class>jp.btools.backuperServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Btools</servlet-name>
<url-pattern>/cron/backup</url-pattern>
</servlet-mapping>
<security-constraint>
<web-resource-collection>
<url-pattern>/cron/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
</web-app>
試行錯誤して、queue.xmlを新規作成します。
queue.xmlは今回使わないので<queue-entries>タグのみ追加。
queue.xml
<queue-entries>
</queue-entries>
デプロイして確かめてみると、on time Success
はて、cronを動かす為にはqueue.xmlが必要だったのでしょうか。
0 件のコメント:
コメントを投稿