I'd be open in adding a configuration setting for the TZ displayed in the UI if the default setting stays UTC. I can commit to sponsor & review that PR personally.
As Sid says, #1633 seems like it's going in that direction but has lost a bit of steam. Community, I really recommend writing `+1` comments on PRs that you'd like to see in master, it can motivate the developer to wrap things up and committers to review PRs. Beyond that, every committer is very welcomed to help reviewing code! I'll start a thread about just that right now. Max On Mon, Oct 10, 2016 at 1:18 PM, siddharth anand <[email protected]> wrote: > There is a current limitation that Airflow only runs on GMT/UTC. I believe > you are asking for a purely cosmetic change to allow the UI to convert date > times displayed to any TZ. I can't speak to that ability and I expect it's > easy if we assume that we are always converting from GMT/UTC to a > display-only timezone that can be selected from a UI drop-down. > > On a related note, it would be awesome if someone could take on a change to > make Airflow TZ aware top-to-bottom and not require it to run strictly in > UTC/GMT. > > I recall vineet-rh started addressing this problem in > https://github.com/apache/incubator-airflow/pull/1633 > > Many of us choose to ignore this since all of our systems run in UTC/GMT, > but I can imagine it's a pain for folks running in legacy data centers > where the policy is to run in a non-GMT/UTC timezone. > > -s > > On Mon, Oct 10, 2016 at 2:37 AM, weeei he <[email protected]> wrote: > > > ---------- Forwarded message ---------- > > From: weeei he <[email protected]> > > Date: 2016-10-10 12:04 GMT+08:00 > > Subject: Change Airflow Timezone > > To: [email protected] > > Cc: [email protected] > > > > > > The display time is UTC on the Airflow ui, such as the right top and > > Gantt Chart Page. > > > > Can I change the time to Local Time and how should I do? > > > > > > I temporarily changed the hard code in *www/templates/admin/master. > html* > > a > > nd *www/views.py* . > > > > This is not good solution apparently > > > > /usr/lib/python2.7/site-packages/airflow/www/templates/admin/master.html > > 12 <script> > > 13 x = new Date() > > 14 //MOD > > 16 var UTCseconds = x.getTime();//(x.getTime() + > > x.getTimezoneOffset()*60*1000); > > > > 18 $("#clock").clock({ > > 19 "seconds":"false", > > 20 "calendar":"false", > > 21 "format":"24", > > 22 "timestamp":UTCseconds > > 23 }).click(function(){ > > 24 alert('{{ hostname }}'); > > 25 }); > > 26 $('span').tooltip(); > > 27 </script> > > > > /usr/lib/python2.7/site-packages/airflow/www/views.py > > 1613 data = [] > > 1614 for i, ti in enumerate(tis): > > 1615 end_date = ti.end_date or datetime.now() > > 1616 tasks += [ti.task_id] > > 1617 color = State.color(ti.state) > > 1619 low = int(ti.start_date.strftime('%s')) * 1000 + 8 * > 60 * > > 60 * 1000 > > 1620 high = int(end_date.strftime('%s')) * 1000 + 8 * 60 * > 60 * > > 1000 > > 1621 data.append({ > > 1622 'x': i, > > 1623 'low': low, > > 1624 'high': high, > > 1625 'color': color, > > 1626 }) > > 1628 height = (len(tis) * 25) + 50 > > 1629 session.commit() > > 1630 session.close() > > >
