Я пытаюсь написать программу, которая собирает время ожидания тематического парка, чтобы попытаться создать базу данных для некоторой практики обработки данных. Я пытаюсь собрать эти данные из пакета themeparks node.js.
У меня больше опыта в R и Python, поэтому я учусь на лету. Теперь я дошел до того, что могу вывести файл .csv из указанного парка (-ов) в нужном мне формате, с именем файла, включающим дату, а заголовки - это название аттракционов для этого парка. и строки, содержащие время ожидания для поездки, с добавленной в конце отметкой времени, указывающей, когда было извлечено время.
В настоящее время у меня есть создаваемый файл, добавлен заголовок, затем каждые 3 секунды будут добавляться строки времени поездки (обычно 5 минут, но для целей тестирования он установлен на 3 секунды).
Проблема, с которой я сталкиваюсь, заключается в том, что в настоящее время мои метки времени не обновляются, и ни одно из них не является текущим.
Для дальнейшего планирования я планирую позже добавить определенное время, когда сбор времени закончится и начнется на основе часов парка, но сейчас я настроил его запуск при запуске приложения и запуск до бесконечности. Кроме того, я такой же фрагмент, работающий на 3 других парка (предположим, какие) в том же приложении, чтобы создать для них другие .csv, но, конечно, у них есть свои учетные данные для получения этих данных. Позже мы хотим, чтобы у каждого парка было свое приложение, которое основное приложение будет вызывать для запуска, но теперь они находятся в одном приложении и в основном имеют ту же структуру, что и этот фрагмент. На данный момент мне просто нужно знать, как получить время и данные для обновления, и почему это не так.
// include the Themeparks library
var Themeparks = require("themeparks");
var fs = require('fs');
//Date
var datetime = require('node-datetime');
var dt = datetime.create();
var TodayDate = dt.format('m-d-Y');
var TimeDate = dt.format('m-d-Y H:m');
var TimeStamp = "Time Stamp" //The Header for Time Stamp
//************************ MAGIC KINGDOM ***********************
var disneyMagicKingdom = new Themeparks.Parks.WaltDisneyWorldMagicKingdom
disneyMagicKingdom.GetWaitTimes().then(function(rides) {
for(var i=0 , ride; ride=rides[i++];) {
// Write out the data in this format: "<RIDE NAME>",<WAIT TIME>
fs.appendFileSync('Magic Kingdom ' + TodayDate + '.csv', "\"" + ride.name + "\"" + ",");
}
//Goes to the next line in the csv, so the times will start on the next line.
fs.appendFileSync('Magic Kingdom ' + TodayDate + '.csv', TimeStamp);
fs.appendFileSync('Magic Kingdom ' + TodayDate + '.csv', '\r\n');
//Repeats the Wait times interval
setInterval(MKTime, 1000*3)
function MKTime() {
for(var i=0 , ride; ride=rides[i++];) {
// Write out the data in this format: "<RIDE NAME>",<WAIT TIME>
fs.appendFileSync('Magic Kingdom ' + TodayDate + '.csv', ride.waitTime + ",");
// Write out a new line so that when this loop repeats, the next row will be written on its own line
}
fs.appendFileSync('Magic Kingdom ' + TodayDate + '.csv', TimeDate);
//Goes to the next line in the csv so when the next interval starts, the times will be on the next line
fs.appendFileSync('Magic Kingdom ' + TodayDate + '.csv', '\r\n');
}
}, console.error);