個人的には今日が仕事始め。正月ボケというやつか、そこそこ睡眠時間とってるはずなのに眠い。
正月休み中に上手く動かなくて苦い思いをしたGAEでflexなcronも何とか動かせた。
そのうちちゃんとまとめるとして、引っかかったポイントは↓みたいな感じ。
- サービスごとにuriが重複しないようにする
- ↑のuriにアクセスできるようにdispatch.yamlを記述する
- cron.yamlではtarget項で指定するのではなく上記のuriを指定する
- webのエンドポイントを叩いて駆動するので、ファイアーウォールで塞いでしまうと失敗する(dispatchされた方だと
0.1.0.1
では不足っぽい。10.0.0.1
から叩かる?) - flexだとapp.yamlでuriごとにアクセス制限する
login: admin
が使えなそう(そんでもってググって出て来るリクエストヘッダX-Appengine-Cron
を見るってのも試したんだけど、なんか上手くいかない)
ひとまずこれで動くことは動いた。色々と「?」な部分はあるし公式ドキュメント怪しいし、ググっても古い記事ばっかりでどこまで参考にできるか怪しかったりするけれど、とりあえず技術要素的にはやりたい要件は満たした。時間を見つけてコツコツ作業していきたい。
flex使うと折角のGAEの便利機能が色々使えないが、standardは突っ込んだ用途に使うには辛い・・・というところでふと思ったんだが、今
- standardなウェブアプリをdefault
- flexibleなバッチをsub
という構成にしてるのを逆に
- flexibleなバッチをdefault
- standardなウェブアプリをsub
にすれば、リクエストヘッダ周りはドキュメント通りのが来てくれるんじゃないかって気がしてきた。時間見つけて試す。