|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
|
[python] quale framework venendo da node.js? (websockets, job queue process)
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: Codice:
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'}) 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 |
![]() |
![]() |
![]() |
#2 | ||||||
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Quote:
Quote:
Quote:
Quote:
Provalo. Anche se, purtroppo, funziona solo su sistemi Unix. Non so se hanno aggiunto di recente il supporto a Windows; spero di sì. Quote:
![]() Quote:
P.S. Per il logging, c'è il modulo standard... logging. ![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
||||||
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
|
Grazie mille
![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
|
domanda forse un pò stupida:
mi registro il timestamp con now = time.time() ma mi sono accorto che mi da l'UTC e a me serve GMT (londra quindi +1 dall'UTC) ho guardato le funzioni di time ma è un casino assurdo ci sono 20mila funzioni per non so quale motivo e a complicare il tutto ci si aggiunge pure il modulo datetime... |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
|
Niente era una domanda effettivamente stupida , salvo le date in utc e poi quando mi servono le valuto in base al locale
Inviato da mio iPhone usando diti delle mani |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
Comunque è vero che ci sono troppe funzioni per gestire il tempo. Il problema è che esiste il tempo, ma anche le date e l'orario; sono concetti "imparentati", ma non sono la stessa cosa.
In ogni caso sarebbe stato meglio offrire soltanto un modulo, datetime, per offrire un'interfaccia unica e coerente per tutto.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
|
Quote:
![]()
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO |
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
|
in javascript mi sembrano più semplici poi c'è http://momentjs.com/ che fa il resto
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
|
In Javascript nemmeno esistono: quella è una libreria esterna.
![]() Anche per Python esistono tante librerie esterne per gestire le date; basta cercare. Personalmente preferisco, se possibile, utilizzare quelle standard. ![]() Quote:
![]()
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:28.