search
LoginSignup
8

More than 5 years have passed since last update.

posted at

Airflow日本語化

前提

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
What you can do with signing up
8