tkbd er en daemon kjøre på fakultetet of Sciences i Radboud University Nijmegen å registrere hvilken datamaskin lab PC-er er gratis og som er tatt.
tkb.js er en frontend.
Hvordan det fungerer
Informasjon som er lagret
tkbd opprettholder tre biter av informasjon. Se state.py.
1. yrke: for hver PC sin nåværende tilstand, som er enten:
& Nbsp; o PCen er turend off
& Nbsp; x PC-er i en ukjent tilstand
& Nbsp; wf PC er gratis og oppstartet i Windows
& Nbsp; lf PC er gratis og oppstartet i Linux
& Nbsp; wu PC er brukt og oppstartet i Windows
& Nbsp; lu PC er brukt og oppstartet i Linux
& Nbsp; wx PCen startes i Windows, men vi vet ikke om det er brukt
& Nbsp; lx PC er oppstartet i Linux, men vi vet ikke om det er brukt
2. roomMap: en liste over rom og PC-er i det.
3. plan: for hvert rom, de mulige bestillinger av det.
Kilde til informasjon
Når folk logger inn og ut av datamaskiner, er dette logges. Et skript klokker loggen og presser endringer til tkbd via HTTP-forespørsler på port 1235. Se cnczPush.py.
Dernest annet skript jevne avstemninger alle PCer. Resultatene av denne skanningen er også presset til port 1235.
Tidsplanen er trukket fra (Ruuster) [http://ruuster.nl]. Se ruuster.py.
Hvordan få tilgang til den
Joyce
tkbd bruker en toveis JSON melding utveksling protokoll over HTTP heter Joyce. En klient kan skape mange kanaler med serveren. På hver av disse kanalene, kan serveren og klienten sende meldinger til hverandre.
- For å skape en kanal, kan du sende en HTTP GET-forespørsel til serveren for / m = null?. Serveren wil svare med en rekke [
- Etter dette, bør du sende en HTTP GET-forespørsel til serveren. Denne gangen for / m = [
- Å sende en liste over meldinger meldinger, sende en HTTP GET-forespørsel til serveren for / m = [
Så, hvilke meldinger gjør tkbd sende og tkbd liker å motta?
Meldinger sendt av tkbd
Hver meldinger sendt av tkbd er ett av følgende. Se cometApi.py.
1. {"type": "Velkommen", "protokoller": [0]}
& Nbsp; Dette er den første meldingen sendt. Det forteller hvilke protokoller tkbd forstår. Foreløpig er det bare protokoll: 0.
2. {"type": "okkupasjon", "versjon":
& Nbsp; Dette er en av de første meldingene som sendes. Den inneholder den nåværende okkupasjonen av PC-er. okkupasjon er en ordbok med som nøkler navn på PC-er og som verds tilstanden i tilsvarende PC-er.
3. {"type": "roomMap", "versjon":
& Nbsp; Dette er en av de første meldingene som sendes. roomMap er en ordbok med som nøkler navn på rom, og som verdsetter tilsvarende liste over PC-er i det rommet.
4. {"type": "timeplan", "versjon":
& Nbsp; Dette er en av de første meldingene som sendes. planen er en ordbok med som nøkler navn på rom, og som verdsetter den tilsvarende tidsplan for det rommet. En tidsplan for et rom er en liste over hendelser. En hendelse er en liste med tre element: det første elementet er starttid; den andre er sluttidspunkt og den tredje er en decription av hendelsen.
5. {"type": "occupation_update", "versjon":
& Nbsp; Denne meldingen er sendt, når okkupasjonen av en eller flere PCer endringer. Oppdateringen er en ordbok med som nøkler PC-navn og som verdsetter den nye staten tilsvarende PC.
På hver oppdatering av okkupasjonen, roomMap eller tidsplan, er tilsvarende versjon øke med én. En klient bør sjekke om det har gått glipp av en oppdatering. Og hvis så, synkronisere ved å bruke ett av følgende.
Meldinger mottatt av tkbd
1. {"type": "get_occupation"}
& Nbsp; Når mottatt, serveren vil sende i retur en okkupasjon melding.
2. {"type": "get_roomMap"}
& Nbsp; Når mottatt, serveren vil sende i retur en roomMap melding.
Hvordan installere det
Den enkleste måten å installere tkbd er å kjøre
& Nbsp; easy_install tkbd
easy_install er en del av Pythons setuptools. (I Debian, prøve apt-get install python-setuptools).
Hvordan å kjøre den
Å kjøre, rett og slett utføre:
& Nbsp; mirte tkbd / oppsett / default
Dette vil kjøre standard oppsett av tkbd. For endringer i okkupasjon vil det lytte på port 1235. Dette er ikke nyttig hvis du ikke er IT-gutta av fakultetet.
Du kan konfigurere tkbd å speile en annen tkbd eksempel. Å speile standard tk.science.ru.nl, bare å kjøre:
& Nbsp; mirte tkbd / oppsett / slave
Å lage en tilpasset konfigurasjon, kopiere og redigere en av de .mirte filer i src / oppsett
Hva er nytt i denne utgaven:.
- Støtte for speiling
- fikse noen bugs
Krav :
- Python
Kommentarer ikke funnet