tkbd is een daemon run op de Faculteit Wetenschappen van de Radboud Universiteit Nijmegen om te registreren welke computer lab PC's vrij zijn en die worden genomen.
tkb.js is een frontend.
Hoe werkt het?
Informatie die is opgeslagen
tkbd onderhoudt drie stukjes informatie. Zie state.py.
1. bezetting: voor elke PC zijn huidige toestand, die:
& Nbsp; o de pc is turend uit
& Nbsp; x de PC is in een onbekende toestand
& Nbsp; WF de PC is gratis en opgestart in Windows
& Nbsp; Als de PC is gratis en opgestart in Linux
& Nbsp; wu de PC wordt gebruikt en opgestart in Windows
& Nbsp; lu de PC wordt gebruikt en opgestart in Linux
& Nbsp; wx de pc is opgestart in Windows, maar we weten niet of het wordt gebruikt
& Nbsp; lx de pc is opgestart in Linux, maar we weten niet of het wordt gebruikt
2. roomMap: een lijst van de kamers en de PC's in het.
3. schema: voor elke kamer, de mogelijke reserveringen van het.
Bron van informatie
Wanneer mensen in- en uitloggen van computers, deze is aangemeld. Een script kijkt het logboek en duwt wijzigingen aan tkbd via HTTP-aanvragen op poort 1235. Zie cnczPush.py.
Ten tweede, een ander script periodiek polls alle pc's. De resultaten van deze scan worden ook geduwd om poort 1235.
Het schema wordt getrokken uit (Ruuster) [http://ruuster.nl]. Zie ruuster.py.
Hoe om toegang te krijgen
Joyce
tkbd maakt gebruik van een bidirectionele JSON bericht uitwisselen protocol via HTTP genaamd Joyce. Een cliënt kan vele kanalen met de server te maken. Op elk van deze kanalen, kan de server en de client-berichten sturen naar elkaar.
- Om een kanaal te maken, stuur dan een HTTP GET-verzoek naar de server / m = null?. De server Wil reageren met een scala [
- Na deze, moet je nog een HTTP GET-verzoek naar de server te sturen. Deze keer voor /? M = [
- Om een lijst met berichten te sturen, om een HTTP GET-verzoek naar de server / m = [
Dus, wat boodschappen doet tkbd verzenden en tkbd graag ontvangen?
Berichten die door tkbd
Iedere berichten die door tkbd is één van de volgende. Zie cometApi.py.
1. {"type": "welkom", "protocollen": [0]}
& Nbsp; Dit is het eerste bericht verzonden. Het vertelt welke protocollen tkbd begrijpt. Momenteel is er slechts protocol: 0.
2. {"type": "bezetting", "versie":
& Nbsp; Dit is een van de eerste berichten. Het bevat de huidige bezetting van de PC's. bezetting een woordenboek met sleutels namen van PC's en als waarden de toestand van de bijbehorende PC.
3. {"type": "roomMap", "versie":
& Nbsp; Dit is een van de eerste berichten. roomMap is een woordenboek met als sleutels namen van de kamers en als waarden de bijbehorende lijst met PC's in die kamer.
4. {"type": "plannen", "versie":
& Nbsp; Dit is een van de eerste berichten. schema is een woordenboek met als sleutels namen van de kamers en als waarden de bijbehorende schema van die kamer. Een schema van een kamer is een lijst van evenementen. Een event is een lijst met drie elementen: het eerste element is de starttijd; de tweede is de eindtijd en de derde is een decription van het evenement.
5. {"type": "occupation_update", "versie":
& Nbsp; Dit bericht wordt verzonden, wanneer de hoedanigheid van één of meer pc's veranderingen. update is een woordenboek met als sleutels PC namen en als waarden die de nieuwe staat van de bijbehorende PC.
Op elke update van de bezetting, roomMap of schema, wordt de bijbehorende versie met één verhoogd. Een klant moet controleren of deze een update heeft gemist. En zo ja, opnieuw te synchroniseren met behulp van een van de volgende.
Berichten door tkbd ontvangen
1. {"type": "get_occupation"}
& Nbsp; Als ontvangen, zal de server in ruil stuur een bezetting bericht.
2. {"type": "get_roomMap"}
& Nbsp; Als ontvangen, zal de server in ruil stuur een roomMap bericht.
Hoe om het te installeren
De eenvoudigste manier om tkbd te installeren is om te draaien
& Nbsp; easy_install tkbd
easy_install is een onderdeel van Python's setuptools. (In Debian, probeer dan apt-get python-setuptools installeren).
Hoe het uit te voeren
Te lopen, gewoon uit te voeren:
& Nbsp; Mirte tkbd / setups / default
Dit wordt de standaard setup van tkbd lopen. Voor veranderingen in de bezetting zal luisteren op poort 1235. Dit is niet handig als je niet de IT-jongens van de faculteit.
U kunt tkbd configureren naar een andere tkbd bijvoorbeeld spiegelen. Om de standaard tk.science.ru.nl spiegelen, eenvoudig uit te voeren:
& Nbsp; Mirte tkbd / setups / slave
Als u een aangepaste configuratie te maken, te kopiëren en bewerken van een van de .mirte bestanden in src / setups
Wat is nieuw in deze release:.
- Ondersteuning voor mirroring
- Bevestig een aantal bugs
Eisen
- Python
Reacties niet gevonden