[Python] Progetto SW

enrico franchi enrico.franchi a gmail.com
Mar 27 Ott 2015 13:14:40 CET


2015-10-27 9:56 GMT+00:00 Massimiliano Pippi <mpippi a gmail.com>:

> 2015-10-27 10:39 GMT+01:00 Andrea D'Amore <and.damore a gmail.com>:
> > 2015-10-27 1:12 GMT+01:00 Massimiliano Pippi <mpippi a gmail.com>:
> >> io affronterei il problema con Django
> >> (https://www.djangoproject.com/), anche se non è verticale sul tuo
> >> problema ha un sacco di robine che ti potrebbero far comodo.
> >
> > Però su quello deve imparare a conoscere django e quali sono le
> > funzioni che gli tornano utili e non è immediato, magari le poche
> > settimane diventano "poche per due".
> >
> da quello che traspare OP è alle prime armi con Python, "poche per
> due" mi pare ottimistico in ogni caso, avrà molto da studiare
> qualsiasi strada prenda.
>
> > Poi si ritrova ad usare un framework web per scrivere un demone,
>


> ho un po' tirato il cappello sui requisiti, dal messaggio originale
> mancano diversi dettagli, ho scommesso sul fatto che avrà bisogno di
> una qualche interazione con l'utente.
> Poi magari mi sbaglio e ritiro tutto, ma dire che ha bisogno di un
> demone è valido quanto dire che serve un'applicazione web.
>

Mah, puo' essere, eh. Pero' quello che dice sull'architettura e'
relativamente chiaro (poi magari incompleto e/o sbagliato).

Fondamentalmente lui ha un coso che deve stare in attesa di eventi, che
sono:
1. un nuovo file in una directory (parlare di cartelle punta
fortissimamente in direzione "prime armi", ma in direzione piu'
preoccupante che il solo Python)
2. un nuovo valore dal suo OPC
3. un'azione scatenata dall'utente

In tutto questo l'unico pezzo dove potrebbe avere qualche beneficio da
usare Django e' il 3, in compenso si troverebbe a lottare con 1 e 2.
Perche' farlo con i cron e i command di Django ha un mucchio di problemi
(fra cui di risoluzione, a meno che non tiri in ballo qualche altro
scheduler di jobs...).
Praticamente non vedo nulla che suggerisca che Django (e simili) facciano
al caso suo.

Anche perche' una volta che hai messo su un loop asincrono che ti fa 1 e 2,
aggiungere un sistema per fare 3 e' banale. Male che butta, SIGUSR1 e passa
la paura. E no... non e' che lo farei con i segnali (per una quintalata di
motivi, fra cui il fatto che il segnalatore deve essere sulla stessa box
del demone... in questo un normalissimo socket e' molto piu' adatto).



>
> > avrà
> > anhe un sacco di funzioni che gil tornano utili ma si tira anche
> > dentro un sacco di codice che non gli serve e non userà mai.
> >
> uhm... quindi? Ogni volta che usi Python ti tiri dietro un sacco di
> codice della libreria standard che non usi, che fastidio ti da?
>

Diciamo che tirare in ballo Django dove di Django puoi martellare a brutta
maniera una feature per fare una cosa che gli serve (in modo molto poco
ottimale) e non usare tutto il resto su cui Django e' forte non mi sembra
una delle idee migliori.


> Ho suggerito un'applicazione web per contenere il tutto ma come detto
> potrebbe essere l'architettura sbagliata, la palla di vetro ancora non
> ce l'ho :)
>

Che poi magari voglia *anche* un'applicazione web niente da dire. Ma il
cuore del suo sistema non assomiglia affatto ad un'applicazione web.

-- 
.
..: -enrico-
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20151027/6a48e3f4/attachment-0001.html>


Maggiori informazioni sulla lista Python