cubehouse / themeparks

Unofficial API for accessing ride wait times and schedules for Disneyland, Disney World, Universal Studios, and many more parks
MIT License
546 stars 126 forks source link

shanghai disneyland sometimes not return full information #37

Closed laumik closed 8 years ago

laumik commented 8 years ago

Hi, Thank you guys for wdwJS project. I have installed it on heroku free account. I am using wdwJS for my ios app that can show Shanghai Disneyland wait times. But when I access it with my app, it does not always get all attractions (36 attractions), sometimes it just return some attractions, maybe 12 or 20 attractions. I have tried hundreds times, still not figure out what was wrong? my data url:

cubehouse commented 8 years ago

Are you calling the GetWaitTimes every time you access that URL? You should probably look into caching the data so you aren't always fetching it with every API hit.

I'll look into this later though to see if/why it's being inconsistent.

laumik commented 8 years ago

yes, every time. I know it needs cache to be more efficient. but not do that yet when my app is just in testing run. and another question, there are Disney official apps for wait times, maybe someday disney will close its official go.com api and stop wdwJS? is this disney official api? https://api.wdpro.disney.go.com/facility-service/

cubehouse commented 8 years ago

Yes, this could stop working at any point for any park.

laumik commented 8 years ago

just curious, how did you find this go.com api?

PhilippeP62 commented 8 years ago

but currently, the official Disney apps rely on those apis.

2016-09-01 15:51 GMT+02:00 James Holding notifications@github.com:

Yes, this could stop working at any point for any park.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/cubehouse/wdwJS/issues/37#issuecomment-244084958, or mute the thread https://github.com/notifications/unsubscribe-auth/ALBJ0g1qOOmLqNRZevn9cW8HpCw1jPNxks5qlthugaJpZM4Jyr3- .

cubehouse commented 8 years ago

I cannot explain this I'm afraid, I really have no control over other people's APIs.

However, the best approach is to be caching these results and returning the cached versions. You want a list of rides with the last wait times, which you can update when you get new data. This way, even if you don't get any data for a ride once or twice, you'll still have the recent previous data to fallback on.

I'm closing this issue now, as I fear there isn't anything this library can do to change the behavior of external APIs.