Да направиме сервис кој има два endpoints
Враќа min/max/average/current за температурите, бројот на присутни и отворен/затворен сензорите во Хаклаб земајќи податоци до Xively
Формат: JSON, dictionary of sensor name to Object { min, max, avg, current }
Предложен API endpoint на Xively: https://personal.xively.com/dev/docs/api/quick_reference/historical_data
Услови:
- податоците несмее да се постари од една минута од моментот на последниот успешно завршен request кон Xively.
- доколу се потребни повеќе барања до Xively за повеќе од еден сензор, да се извршат паралелно
- во присуство на concurrent requests кон
/data
несмее да има повеќе од 1 request per minute per sensor кон Xively - Податоците се зимаат од Xively on demand - на пример доколку нема одговорени барања кон
/data
во последните 30 минути, не треба да има ни барања кон Xively
Враќа "OK" како индикатор дека сервисот е активен
Враќаат статус 404 "Not Found"
SENSORS=ID:name1,name2,...,nameN;ID2:name1,name2,...,anmeN
Листа на сензори. Required. Доколку има попаметен начин да се специфицира што ни треба од xively, let me know.
CORES=N
На колку јадра да работи. Default 1
PORT=N
На кој порт да слуша. Default 8080
EXPIRE_TIME=N
Колку време додека стане стар податокот. Вежбата е објаснета со default-от од 1 минута
- http://research.microsoft.com/en-us/um/people/simonpj/papers/marktoberdorf/mark.pdf делот за concurrency and MVars and forkIO
- https://www.haskell.org/hoogle/ за одговори на прашања од типот иам array of IOs и сакам да добијам IO за array:
[IO nesto] -> IO [nesto]