diff --git a/scripts/bus-daemon-upstart.conf b/scripts/bus-daemon-upstart.conf new file mode 100644 index 0000000000000000000000000000000000000000..386a7100626aba554fe3912481f9c98d6c7802c2 --- /dev/null +++ b/scripts/bus-daemon-upstart.conf @@ -0,0 +1,16 @@ +description "maps.unl.edu bus location proxy" +author "mfairchild365@gmail.com" +# used to be: start on startup +# until we found some mounts weren't ready yet while booting: +start on runlevel [2345] +stop on runlevel [06] +# Automatically Respawn: +respawn +respawn limit 15 5 +script +#configure the path +exec php /var/www/html/scripts/bus-daemon.php >> /var/log/bus_daemon.log 2>&1 +end script +post-start script +# Optionally put a script here that will notify you node has (re)started +end script \ No newline at end of file diff --git a/scripts/bus-daemon.php b/scripts/bus-daemon.php new file mode 100644 index 0000000000000000000000000000000000000000..729d4d1108e71aacfeaa18d293eb040cb590e1c7 --- /dev/null +++ b/scripts/bus-daemon.php @@ -0,0 +1,14 @@ +<?php +/** + * This daemon runs the bus proxy script every second to generate the json file. + * This is helpful for when the server is under heavy load to ensure that the script is only ever ran once every second. + * + * If you use this daemon, be sure that busproxy.php is aliased in apache to serve bus.json. + */ + +$project_root = dirname(__DIR__); + +while(true) { + $result = shell_exec("php $project_root/www/busproxy.php"); + sleep(1); +} diff --git a/www/busproxy.php b/www/busproxy.php index f85a525e957ec55ddfe69aa6d35e5b0d82581785..7d73909613d6bf940c9425ec92bcf9b24c11c393 100644 --- a/www/busproxy.php +++ b/www/busproxy.php @@ -1,7 +1,7 @@ <?php $url = 'http://getonboard.lincoln.ne.gov/packet/json/vehicle?routes=138,139&lastVehicleHttpRequestTime=0'; -$file = 'bus.json'; +$file = __DIR__ . '/bus.json'; $seconds_to_cache = 1; if (!file_exists($file) || time() - $seconds_to_cache >= filemtime($file)) {