tkbd é uma corrida daemon na Faculdade de Ciências da Radboud University Nijmegen para registrar que computador do laboratório da PC são livres e que são tomadas.
tkb.js é um frontend.
Como funciona
As informações armazenadas
tkbd mantém três bits de informação. Veja state.py.
1. ocupação: para cada PC seu estado atual, que pode ser:
& Nbsp; o do PC é turend off
& Nbsp; x o PC está em um estado desconhecido
& Nbsp; wf o PC é gratuito e inicializado no Windows
& Nbsp; Se a PC é gratuito e inicializado no Linux
& Nbsp; wu o PC é usado e inicializado no Windows
& Nbsp; lu o PC é usado e inicializado no Linux
& Nbsp; wx o PC é inicializado no Windows, mas não sabemos se ele é usado
& Nbsp; lx o PC é inicializado em Linux, mas não sabemos se ele é usado
2. roomMap: a lista de quartos e o PC está nele.
3. programação: para cada sala, os possíveis reservas do mesmo.
Fonte de informação
Quando as pessoas entrar e sair de computadores, este é registrado. Um script observa o log e empurra alterações tkbd via solicitações HTTP na porta 1235. Veja cnczPush.py.
Em segundo lugar, outro script periodicamente pesquisas de todos os PCs. Os resultados dessa varredura também são empurrados para a porta 1235.
O calendário é puxado (Ruuster) [http://ruuster.nl]. Veja ruuster.py.
Como acessá-lo
Joyce
tkbd utiliza uma mensagem JSON bidirecional troca de protocolo sobre HTTP chamado Joyce. Um cliente pode criar muitos canais com o servidor. Em cada um destes canais, o servidor eo cliente pode enviar mensagens para o outro.
- Para criar um canal, envie uma solicitação HTTP GET para o servidor for / m = null?. O servidor wil responder com uma série de token [<>, <>,
- Depois disso, você deve enviar um outro pedido HTTP GET para o servidor. Desta vez para a /? M = [
- Para enviar uma lista de mensagens de mensagens, enviar uma solicitação HTTP GET para o servidor para / m = [
Então, o que faz mensagens tkbd enviar e tkbd gosta de receber?
As mensagens enviadas por tkbd
Cada mensagens enviadas por tkbd é um dos seguintes. Veja cometApi.py.
1. {"type": "bem-vindo", "protocolos": [0]}
& Nbsp; Esta é a primeira mensagem enviada. Ele diz que os protocolos tkbd entende. Actualmente, há apenas protocolo: 0.
2. {"type": "ocupação", "versão":
& Nbsp; Esta é uma das primeiras mensagens enviadas. Ele contém a ocupação atual do PC. ocupação é um dicionário com chaves como nomes de computadores e como valoriza o estado do correspondente do PC.
3. {"type": "roomMap", "versão":
& Nbsp; Esta é uma das primeiras mensagens enviadas. roomMap é um dicionário com nomes como chaves de quartos e como valoriza a lista correspondente de PCs no quarto.
4. {"type": "schedule", "versão":
& Nbsp; Esta é uma das primeiras mensagens enviadas. programação é um dicionário com nomes como chaves de quartos e como valoriza o cronograma correspondente da sala. A programação de um quarto é uma lista de eventos. Um evento é uma lista com três elementos: o primeiro elemento é o tempo de partida; a segunda é a hora de fim e o terceiro é um decription do evento.
5. {"type": "occupation_update", "versão":
& Nbsp; Esta mensagem é enviada, quando a ocupação de um ou mais PCs alterações. atualização é um dicionário com nomes como chaves de PC e como valoriza o novo estado do PC correspondente.
Em cada atualização da ocupação, roomMap ou cronograma, a versão correspondente é incrementado por um. Um cliente deve verificar se ele perdeu uma atualização. E se assim for, sincronizar novamente usando um dos seguintes.
As mensagens recebidas por tkbd
1. {"type": "get_occupation"}
& Nbsp; Quando recebido, o servidor irá enviar em troca uma mensagem de ocupação.
2. {"type": "get_roomMap"}
& Nbsp; Quando recebido, o servidor irá enviar uma mensagem em troca roomMap.
Como instalá-lo
A maneira mais simples de instalar tkbd é correr
& Nbsp; easy_install tkbd
easy_install é uma parte do setuptools do Python. (Em Debian, tente apt-get install python-setuptools).
Como executá-lo
Para executar, basta executar:
& Nbsp; Mirte tkbd / configurações / default
Isto irá executar a instalação padrão do tkbd. Para alterações na ocupação que vai escutar na porta 1235. Isto não é útil se você não são os caras de TI da faculdade.
Você pode configurar tkbd espelhar outra instância tkbd. Para espelhar o tk.science.ru.nl padrão, basta executar:
& Nbsp; Mirte tkbd / configurações / slave
Para criar uma configuração personalizada, copiar e editar um dos arquivos .mirte em src / setups
O que é novo nesta versão:.
- Suporte para espelhamento
- corrigir alguns bugs
Requisitos :
- Python
Comentários não encontrado