[IT] Windows IIS / PHP で cron 風コマンドを使う。
twitterボットを LAMP 環境ごと納品することが多いのですが、Windows IIS / PHP では cron がないのでどこから呼ぼうか(タスクスケジューラは毎分単位設定できないので却下)、cronNT から call しようかなど妄想&検証すること約30分。
結論が出ました。実にカンタンです。
(が、メモリヒープが起きない保証はありません)
php の先頭に
<meta http-equiv=”refresh” content=”60; URL=http://FQDN/FXFROGbotter.php”>
これで1分毎の更新。
実にカンタンです。
いつ更新したかも分かるように念のため bot プログラムには鯖ローカル時間を取得するように記述しませう。(いや、そんなん含まれてないタコなアプリは書かないってかw?むしろ、syslog へ発行するやろ?)
<?php echo date( “Y/m/d (D) H:i:s”, time() ) ?>
===
メモリヒープが起きやすい環境w では、
wsh で
“C:Program Files (x86)Internet Exploreriexplore.exe -e” “C:FXFROGMyHobby2FXFROGbotter.php”
のような記述(IE 引数 -e 使用)を含み無駄なタイマーをセットして、一度 IE を終了し再度起動させたとしても何と言いますか、コンソール作業時の煩わしさが発生します。
おっと、大事な内容を一つ。
スケジューラを使いましょう。コンピュータの起動時に。
しかし、これは「諸刃の剣(もろはのつるぎ)」が伴います。
タコな障害時にはイカ面倒な障害切り分けが発生するかもです。
だけど、仮に cron があったとしても同じことが言えるので、「どんな設定をこの鯖に仕込んでいるのか?」を自宅データセンタで自分が管理者で誰にも迷惑をかけてないwとしても「きちんと管理」することが、「心の負担がぐっと軽く」なります。
こんなカスな記事でごめんなさい。時刻は土曜日午前5時40分。
以上