tkbd är en demon som körs på fakulteten för vetenskap vid Radboud University Nijmegen att registrera vilka datorsal datorer är gratis och som fattas.
tkb.js är ett gränssnitt.
Så här fungerar det
Information som lagras
tkbd håller tre bitar av information. Se state.py.
1. yrke: för varje dator sitt nuvarande tillstånd, som antingen:
& Nbsp; o datorn är turend off
& Nbsp; x datorn är i ett okänt tillstånd
& Nbsp; wf datorn är gratis och startas i Windows
& Nbsp; lf datorn är gratis och startas i Linux
& Nbsp; wu datorn används och startas i Windows
& Nbsp; lu datorn används och startas i Linux
& Nbsp; wx datorn startas i Windows, men vi vet inte om den används
& Nbsp; lx datorn startas i Linux, men vi vet inte om den används
2. roomMap: en lista med rum och datorer i den.
3. schema: för varje rum, de möjliga reservationer från den.
Källa av information
När människor loggar in och ut ur datorer, detta loggas. Ett skript klockor loggen och skjuter förändringar att tkbd via HTTP-anrop på port 1235. Se cnczPush.py.
För det andra, ett annat skript jämna omröstningar alla datorer. Resultaten av den här analysen är också skjuts till port 1235.
Schemat dras från (Ruuster) [http://ruuster.nl]. Se ruuster.py.
Hur komma åt det
Joyce
tkbd använder en dubbelriktad JSON meddelande utbyta protokoll över HTTP heter Joyce. En klient kan skapa många kanaler med servern. På var och en av dessa kanaler, kan servern och klienten skicka meddelanden till varandra.
- För att skapa en kanal, skicka en HTTP GET-begäran till servern för / m = null?. Servern wil svara med en array [
- Efter detta ska du skicka en annan HTTP GET-begäran till servern. Den här gången för /? M = [
- Om du vill skicka en lista med meddelanden meddelanden, skicka en begäran HTTP GET till servern för / m = [
Så, vad meddelanden gör tkbd skicka och tkbd gillar att ta emot?
Meddelanden som skickas med tkbd
Varje meddelanden som skickas av tkbd är något av följande. Se cometApi.py.
1. {"typ": "Välkommen", "protokoll": [0]}
& Nbsp; Detta är det första meddelandet skickades. Den berättar vilka protokoll tkbd förstår. För närvarande finns det bara protokoll: 0.
2. {"typ": "ockupation", "version":
& Nbsp; Detta är en av de första meddelanden som skickas. Den innehåller den nuvarande ockupationen av datorer. yrke är en ordbok med så nycklar namnen datorer och som värderar tillståndet i motsvarande PC.
3. {"typ": "roomMap", "version":
& Nbsp; Detta är en av de första meddelanden som skickas. roomMap är en ordbok med så nycklar namn på rum och som värderar motsvarande lista över datorer i det rummet.
4. {"typ": "schema", "version":
& Nbsp; Detta är en av de första meddelanden som skickas. schema är en ordbok med så nycklar namn på rum och som värderar motsvarande schema för det rummet. En tidsplan för ett rum är en lista över händelser. En händelse är en lista med tre inslag: det första elementet är starttiden; den andra är sluttiden och den tredje är en decription av händelsen.
5. {"typ": "occupation_update", "version":
& Nbsp; Det här meddelandet skickas när ockupationen av en eller flera datorer förändringar. Uppdateringen är en ordbok med som nycklar PC namn och som värderar den nya staten motsvarande PC.
På varje uppdatering av ockupationen, roomMap eller schema, är motsvarande versionen ökas med ett. En klient bör kontrollera om den har missat en uppdatering. Och i så fall, synkronisera med någon av följande.
Meddelanden som tas emot av tkbd
1. {"typ": "get_occupation"}
& Nbsp; När emot servern skickar i gengäld ett yrke meddelande.
2. {"typ": "get_roomMap"}
& Nbsp; När emot servern skickar i gengäld ett roomMap meddelande.
Hur man installerar det
Det enklaste sättet att installera tkbd är att köra
& Nbsp; easy_install tkbd
easy_install är en del av Pythons setuptools. (I Debian prova apt-get install python-setuptools).
Hur man kör det
För att köra, utför:
& Nbsp; mirte tkbd / inställningar / default
Detta kommer att köra standardkonfigurationen av tkbd. För förändringar i ockupationen det kommer att lyssna på port 1235. Detta är inte bra om du inte är IT killarna i fakulteten.
Du kan konfigurera tkbd att spegla en annan tkbd instans. För att spegla den förvalda tk.science.ru.nl, kör helt enkelt:
& Nbsp; mirte tkbd / inställningar / slave
För att skapa en anpassad konfiguration, kopiera och redigera en av de .mirte filer i src / uppställningar
Vad är nytt i den här versionen:.
- Stöd för spegling
- Fix några buggar
Krav :
- Python
Kommentarer hittades inte