LoginSignup
8

More than 5 years have passed since last update.

Airflow日本語化

Posted at

前提

Airflowにはスケジュールされたタスクの進捗状況やログなどを確認することが出来るwebserverがついている。

こんな感じ
スクリーンショット 2016-04-18 17.16.28.png

問題

ただこれUTCで固定されている。なので動作としてはJSTで動いていても、画面上ではUTCになってしまう。
頭の中で時刻を変換しないといけないから結構辛い。
これについてのissueは出ているけどまだマージはされていない。
https://github.com/airbnb/airflow/issues/227

解決策

全体共通

上記issueにも書いてあるがハードコーディングしてある部分を手動で直してあげる:ghost:

/usr/local/lib/python2.7/site-packages/airflow/www/templates/admin/master.html

timestampとして設定されているUTCsecondsの代わりにx.getTime()にしてあげる。

x = new Date()
//var UTCseconds = (x.getTime() + x.getTimezoneOffset()*60*1000);
var seconds = x.getTime();
$("#clock").clock({
    "seconds":"false",
    "calendar":"false",
    "format":"24",
    "timestamp":seconds
}).click(function(){
    alert('{{ hostname }}');
});
$('span').tooltip();

/usr/local/lib/python2.7/site-packages/airflow/www/static/jqClock.min.js

下記コード部分に"UTC </span>"とかかれているのでここを任意の文字列に変更してあげる。

<span class='clocktime'>"+p+":"+l+(n.seconds=="true"?":"+v:"")+o+"UTC </span>");t[r]=setTimeout(function(){f($(j),n)},1000)}};f($(this),d)})};

tree view

/usr/local/lib/python2.7/site-packages/airflow/www/static/d3.v3.min.js

Qa.scale.utcQa.scaleに変更する。

/usr/local/lib/python2.7/site-packages/airflow/www/templates/airflow/tree.html

dttm.setHours(dttm.getHours()+7)でplus7時間されているのでdttm.setHours(dttm.getHours())にしてあげる。 

  var extent = d3.extent(base_node.instances, function(d,i) {
    dttm = new Date(d.execution_date);
    dttm.setHours(dttm.getHours());
    //dttm.setHours(dttm.getHours()+7)
    return dttm;
  });

gantt view

/usr/local/lib/python2.7/site-packages/airflow/www/static/highcharts.js

useUTC:!0からuseUTC:falseに変更してあげる

 最後に

これで少しは見やすくなった

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8