cronでtimezoneごとに実行
日本語以外の言語をサポートしてるシステムで、cronを使って通知を送りたいけど、JSTで送ってしまうと深夜の時間帯に送ってしまうことになりかねないよね。
ってことで、cronをタイムゾーンごとに実行できないか調べていたら見つけたので簡単に書いてみた。
これを使います。 github.com
コード
var CronJob = require('cron').CronJob; new CronJob('0 19 * * *', function() { console.log("東京は夜の七時"); }, null, true, "Asia/Tokyo"); new CronJob('0 7 * * *', function() { console.log("リオは朝の七時"); }, null, true, "America/Sao_Paulo");
時間を弄ってすぐ実行されるようにする
# date -s "07/2 18:59:55 2018" 2018年 7月 2日 月曜日 18:59:55 JST
起動
# nodejs cron.js 東京は夜の七時 リオは朝の七時
良い感じ、本当はpythonで似たようなのが欲しいけどもすぐ見つからなかった。ググり方が悪い説。