Mercurial > ~darius > hgwebdir.cgi > wh1080
view db/mkdb @ 3:dc5ff2a1ed81
Be smarter about retries.
If the interrupt endpoint can't be read 100 times then retry the whole request.
author | Daniel O'Connor <darius@dons.net.au> |
---|---|
date | Wed, 10 Feb 2010 11:33:27 +1030 |
parents | 9dab44dcb331 |
children |
line wrap: on
line source
/* * Create MySQL databases * $Id: mkdb,v 1.3 2009/12/20 00:44:15 grog Exp grog $ */ create database if not exists weather; use weather; create table if not exists observations (station_id char (16), date date, time time, inside_humidity smallint null, /* humidity in percent */ inside_temp float null, /* inside temperature */ inside_dewpoint float null, /* inside dewpoint temperature */ outside_temp float null, /* outside temperature */ outside_dewpoint float null, /* outside dewpoint temperature */ apparent_temp float null, /* apparent outside temperature */ delta_t float null, /* delta to wet bulb temperature */ outside_humidity smallint null, /* humidity in percent */ pressure_abs float null, /* absolute pressure, hPa */ pressure_msl float null, /* sea-level relative pressure, hPa */ pressure_qnh float null, /* qnh pressure, hPa */ visibility float null, wind_direction float, /* wind direction, in 45° increments */ wind_direction_text char (6) null, /* wind direction, text */ wind_speed float null, /* wind speed in km/h */ wind_gust float null, /* wind gust speed in km/h */ rain float null, /* rainfall in mm */ events text null, /* Not sure what this is */ conditions text null, /* Not sure what this is */ clouds text null, /* but what? */ primary key (date, time, station_id)); create table if not exists remote_observations like observations; /* Time of last report for this station to this remote site */ create table if not exists lastreport (station_id char (16), /* which station? */ report_id char (16), /* and which remote site? */ date timestamp, /* last report */ primary key (station_id, report_id) ); /* Configuration */ create table if not exists config ( version int, /* format version number */ latitude float, /* In ° */ longitude float, elevation float, /* metres */ pressure_error float, /* difference between actual and real pressure, hPa */ poll_interval int, /* time, in seconds, between reading the device */ station_id char (16), /* this is the one we use for the database */ address text, /* Address to display on web pages */ wunderground_station_id text, wunderground_passwd text, wunderground_report_interval int, /* how many seconds between reports to Wunderground */ weatheforyou_station_id text, weatheforyou_passwd text, weatherforyou_report_interval int, /* how many seconds between reports to Weather for you */ website_generation_interval int, /* how many seconds between generating PHP header file */ db_host text, /* database on this host */ db_user text, /* user ID on host */ db_passwd text, /* and password */ db text, /* database name */ db_table text, /* table */ sharefile text, /* shared segment file */ php_header text, /* php header file with weather data */ comparefile text, /* file to compare local weather stations */ primary key (station_id) );