(これがSOの質問でない場合、私は喜んで他の場所に移動します)
cronで定期的に開始したいGAEバックエンドがあります。SOからの他の質問の助けを借りて、私はこのようにbackends.xmlを設定しました
<?xml version="1.0" encoding="UTF-8"?>
<backends>
<backend name="myBackend">
<class>B1</class>
<instances>1</instances>
<options>
<dynamic>true</dynamic>
</options>
</backend>
</backends>
そして私のcron.xmlはこのように
<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
<cron>
<url>/doHardStuff</url>
<description>doing long running stuff</description>
<schedule>every 3 hours</schedule>
<target>myBackend</target>
</cron>
</cronentries>
mvn-gae
そして、私はそれを目標を持って(私はすべてをJavaでMavenで書いています)を使用してアップロードしますgae:deploy gae:backends-list gae:backends-update
ただし、すべてが正常に読み込まれ、長時間実行される作業は実行されます。すべてを完了した後でも、動的バックエンドは実行され、1日のバックエンドクォータを消費します。_ah/stop
サーブレットがジョブを終了した後、ログにリクエストを表示できます。ただし、バックエンドはその後も実行されます。
[メイン]->[バックエンド]->[開始/停止]のエンジンWebコンソールで手動で停止すると、クォータの消費が停止しますが、cronで特定の時間に実行されず、cronジョブが失敗します。
私は何をすべきか?バックエンドを指定された時間に開始し、リクエストが終了してマシンがアイドル状態になったときに停止するようにします。別の時間に実行したくありません。