Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var CronJob = require('cron').CronJob;
- var exec = require("child_process").exec;
- var reload = require('require-reload')(require);
- // Bootstrap the application, configure models, datasources and middleware.
- // Sub-apps like REST API are mounted via boot scripts.
- boot(app, __dirname, function (err) {
- if (err)
- throw err;
- //CRON Job : at midnight
- var Boat = app.models.Boat;
- var ais_url_france = 'http://data.aishub.net/ws.php?username=XXXXXXXXX&format=1&output=json&compress=0&latmin=40&latmax=52&lonmin=-5&lonmax=10';
- //start the cronjob on a node env every min
- new CronJob('* * * * *', function () {
- // get the file and save as a .json
- exec('wget "' + ais_url_france + '" -O aishub_france.json', function (error, stdout, stderr) {
- // I need to use reload here because the file is stored in memory otherwise and only read once after the first download...
- var file = reload('../aishub_france.json');
- if (file[0].ERROR === false) {
- var boats = file[1];
- if (boats.length > 0) {
- Boat.destroyAll({typeId: 'aishub_boats'}, function (err, info) {
- for (var i = 0; i < boats.length; i++) {
- Boat.create({
- name: {
- fr: boats[i].NAME,
- en: boats[i].NAME
- },
- latlng: {
- lat: boats[i].LATITUDE,
- lng: boats[i].LONGITUDE
- },
- typeId: 'aishub_boats'
- });
- }
- ;
- });
- }
- }
- });
- }, null, true, null);
- });
Add Comment
Please, Sign In to add comment