OoZic
18-04-2014, 03:03
Generalmente scrivo codice in javascript per nodejs, oggi ho però iniziato a fare uno script che dovrà funzionare su raspberrypi, in python, un pò per scommessa un pò per imparare python che non conosco.
Ho già tutto scritto in node ma voglio riscriverlo in python sostanzialmente.
Quel che mi serve che faccia:
- all'avvio connettersi tramite websocket a un server ed emettere un evento + un json allegato
- registrare un input da tastiera
- fare un log locale (un banale file di testo può andare bene)
- aggiungere questo input a una coda di job
- un handler prende i singoli job e deve inviare un json tramite chiamata post, se ricevo un ok 200 tolgo il job dalla coda, viceversa rimane dentro e ritento di inviarlo dopo X minuti
Quel che ho scritto in 1 ora di python:
from sys import stdin
import time
import requests
import json
x = stdin.read(0)
# while 1==1:
barcode = stdin.readline()
now = time.time()
with open("test.txt", "a") as barcode_log:
barcode_log.write(r)
checkin = json.dumps({'id': '1', 'time': str(now) , 'location':'0'})
r = requests.post('http://www.pippo.com/checkins', data=checkin, headers = {'content-type': 'application/json'})
Qualche consiglio su come andare avanti?
Un modulo leggero ma funzionale per job queue processing?
Che modulo usare per websockets?
Ho visto che è abbastanza famoso Tornado ma credo sia un framework completo, vale la pena darci un occhiata o è overkill per il mio semplice progetto?
Ho visto c'è anche SockJS https://github.com/mrjoes/sockjs-tornado
o un modulo per socket.io https://github.com/abourget/gevent-socketio
Nei ritagli di tempo sto leggendo http://learnpythonthehardway.org/ , va sempre bene?
Grazie
Ho già tutto scritto in node ma voglio riscriverlo in python sostanzialmente.
Quel che mi serve che faccia:
- all'avvio connettersi tramite websocket a un server ed emettere un evento + un json allegato
- registrare un input da tastiera
- fare un log locale (un banale file di testo può andare bene)
- aggiungere questo input a una coda di job
- un handler prende i singoli job e deve inviare un json tramite chiamata post, se ricevo un ok 200 tolgo il job dalla coda, viceversa rimane dentro e ritento di inviarlo dopo X minuti
Quel che ho scritto in 1 ora di python:
from sys import stdin
import time
import requests
import json
x = stdin.read(0)
# while 1==1:
barcode = stdin.readline()
now = time.time()
with open("test.txt", "a") as barcode_log:
barcode_log.write(r)
checkin = json.dumps({'id': '1', 'time': str(now) , 'location':'0'})
r = requests.post('http://www.pippo.com/checkins', data=checkin, headers = {'content-type': 'application/json'})
Qualche consiglio su come andare avanti?
Un modulo leggero ma funzionale per job queue processing?
Che modulo usare per websockets?
Ho visto che è abbastanza famoso Tornado ma credo sia un framework completo, vale la pena darci un occhiata o è overkill per il mio semplice progetto?
Ho visto c'è anche SockJS https://github.com/mrjoes/sockjs-tornado
o un modulo per socket.io https://github.com/abourget/gevent-socketio
Nei ritagli di tempo sto leggendo http://learnpythonthehardway.org/ , va sempre bene?
Grazie