Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Offrire esecuzione di script Python su server

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto UtenteMassimoB, Foto Utentefairyvilje

1
voti

[1] Offrire esecuzione di script Python su server

Messaggioda Foto Utenteboiler » 28 nov 2019, 20:24

Ciao a tutti

Versione breve per chi non ha voglia di leggere:
Conoscete un programma/servizio da far girare su un server che metta a disposizione un'interfaccia web o a cui si può collegare un client dai quali si possano immetere dei dati (per esempio l'indirizzo di una directory con files CSV da elaborare) che poi vengano passati come argomento ad uno script Python che gira sul server stesso?



Nel laboratorio della ditta per cui lavoro sta prendendo piede l'uso di Python per l'elaborazione dei dati.
Per esempio un datalogger registra delle misure di un certo esperimento e poi si dà il file CSV che ha generato in pasto ad uno script python che calcola delle caratteristiche. Sono cose in parte piuttosto complesse, come generare i coefficienti che servono a far "calzare" i dati misurati su un modello fisico.

Fin qui tutto bene...

Se non fosse che bisogna "infettare" ogni computer del laboratorio con Python, Pandas e quant'altro...
Inoltre gli script verrebbo distribuiti a tutti e si perderebbe il controllo. So fin troppo bene che c'è gente che pensa di saper programmare e modificherebbe lo script per adattarlo ad un suo fantomatico bisogno.
Alla fine della fiera ci sarebbero in circolazione 12 script con lo stesso nome, senza uno straccio di version control che in teoria fanno lo stesso calcolo. In realtà no.

Abbiamo un server per la Continuous Integration del quale mi occupo e mi era venuta l'idea di installare solo su questo server Python e di metterci gli script. Ci vorrebbe poi un modo per accedere a questo server (l'ideale sarebbe un'interfaccia web) e indicargli di eseguire lo script xxx sui dati contenuti in yyy (che è una directory sul file-server), usando i parametri a, b, c e di poi mettere il risultato nella directory zzz.

Chiaramente con un po' di impegno si può mettere in piedi qualcosa in PHP, ma se ci fosse una soluzione già pronta o facilmente adattabile sarebbe meglio.

Se qualcuno conosce TeamCity di Jetbrains... ecco qualcosa di simile solo che il trigger non arriva dal VCS e i dati non vengono estratti da un repository, ma da una directory. Inoltre sarebbe utile poter passare dei parametri al momento dell'avvio dello script.

Sul server gira Windows.

Se leggendo vi siete detti "Ma sì... è ovvio... si fa così...", beh, mi date uno spunto su cosa cercare con Google?

Grazie e ciao Boiler
Avatar utente
Foto Utenteboiler
15,3k 4 7 13
G.Master EY
G.Master EY
 
Messaggi: 2598
Iscritto il: 9 nov 2011, 12:27

0
voti

[2] Re: Offrire esecuzione di script Python su server

Messaggioda Foto UtenteMassimoB » 2 dic 2019, 23:42

Foto Utenteboiler scusa ma sarà che oggi sono rinco, 14 ore di lavoro per n giorni bene non fanno :mrgreen:

Lavoro spesso con python, se posso esserti utile più che volentieri ma non ho capito cosa ti serve...mea culpa sicuramente
MCSA Windows Server 2012 R2
Cisco CCNA R&S - Cisco CCNA Security - Cisco CCNA Cyber Ops
CompTia A+ - CompTia Linux+ - CompTIA Systems Support Specialist CSSS
CompTia Pentest+ LPIC-1
Avatar utente
Foto UtenteMassimoB
13,7k 6 12 13
Expert free
 
Messaggi: 3054
Iscritto il: 28 ott 2012, 9:56
Località: Milano

0
voti

[3] Re: Offrire esecuzione di script Python su server

Messaggioda Foto Utenteboiler » 3 dic 2019, 23:39

Ciao Foto UtenteMassimoB

Il problema ha in realtà poco a che fare con python stesso.
Si tratta di offrire un'interfaccia che permetta ad un utente di avviare degli script (in Python o altro) su di un server remoto.

Per finire penso che farò un pasticcio con PHP.

Boiler
Avatar utente
Foto Utenteboiler
15,3k 4 7 13
G.Master EY
G.Master EY
 
Messaggi: 2598
Iscritto il: 9 nov 2011, 12:27

1
voti

[4] Re: Offrire esecuzione di script Python su server

Messaggioda Foto Utentegvee » 3 dic 2019, 23:53

Prova con NodeJS.

Penso che tu possa stabilire la comunicazione tra nodejs e python via IPC.
Io per una situazione simile ho usato unix named socket su una macchina Linux per la comunicazione con un programma in C.

PS: la programmazione web non è il mio campo..
Avatar utente
Foto Utentegvee
585 2 6
Frequentatore
Frequentatore
 
Messaggi: 210
Iscritto il: 11 feb 2018, 20:34

1
voti

[5] Re: Offrire esecuzione di script Python su server

Messaggioda Foto Utentefairyvilje » 4 dic 2019, 4:00

Hai provato con un server jupyter? Non ho esperienza recente tantomeno avanzata nel senso che non lo uso da un pezzo e python in generale lo schifo un po', ma dovrebbe risolvere i tuoi problemi :mrgreen: .

Se hai bisogno di un sistema multiutente esiste https://jupyterhub.readthedocs.io/en/latest/ che dovrebbe essere molto simile come esperienza, ma non l'ho mai testato.

E preparati a necessitare di un server unix-like perché non credo ci sia molto supporto per i prodotti microsoft visto che in questa community nessuno li usa di fatto.
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...

Lo sapete che l'arroganza in informatica si misura in nanodijkstra? :D
Avatar utente
Foto Utentefairyvilje
11,5k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 2463
Iscritto il: 24 gen 2012, 19:23

1
voti

[6] Re: Offrire esecuzione di script Python su server

Messaggioda Foto UtenteIlGuru » 4 dic 2019, 11:13

Senza usare webserver, puoi fare uno script bash che legge un file presente in una certa cartella condivisa, ciclando su ogni riga esegue quel programma python passandogli i parametri che legge dalla riga.
Condividi in rete la cartella che contiene quel file e ci scrivi dentro da dove vuoi.
Fai eseguire una volta ogni quel che ti pare quello script bash con un crontab.
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
4.164 1 10 13
Master
Master
 
Messaggi: 1394
Iscritto il: 31 lug 2015, 23:32

0
voti

[7] Re: Offrire esecuzione di script Python su server

Messaggioda Foto Utenteboiler » 6 dic 2019, 0:04

Grazie a tutti per gli spunti di riflessione.

Foto Utentegvee: Node.Js sembra interessante, ma Javascript proprio non lo mastico. Ma da quel che capisco Django dovrebbe essere qualcosa di simile basato su python. Potrebbe essere una soluzione.

Foto Utentefairyvilje: python non piace nemmeno a me. Ma io devo "solo" mettere a disposizione la piattaforma. Gli script li cureranno altre persone... e devo ammettere che probabilmente è la scelta migliore per questo tipo di lavoro.
Jupyter non lo conoscevo. Da quello che vedo fa proprio quello che mi serve, ma devo studiarmelo ancora un po'... grazie per la segnalazione.

Foto UtenteIlGuru: ovviamente funzionerebbe, ma non è una soluzione che brilli per usability. Questi script dovranno essere usati anche da utonti (utenti molto incapaci di tutto).

Per tutti: Windows o Unix non è negoziabile. Lavoro per una grossa multinazionale che di conseguenza ha una Corporate IT mastodontica e letargica. Hanno deciso che tutti i server girano su Windows e così è...

Saluti, Boiler
Avatar utente
Foto Utenteboiler
15,3k 4 7 13
G.Master EY
G.Master EY
 
Messaggi: 2598
Iscritto il: 9 nov 2011, 12:27

0
voti

[8] Re: Offrire esecuzione di script Python su server

Messaggioda Foto UtenteMassimoB » 7 dic 2019, 18:34

Foto Utenteboiler faccio solo una riflessione...
Una multinazionale che ha questi problemi e deve chiedere su un forum come eseguire script python mi fa pensare.

Senza offesa ma è una riflessione lecita.

Saluti.
MCSA Windows Server 2012 R2
Cisco CCNA R&S - Cisco CCNA Security - Cisco CCNA Cyber Ops
CompTia A+ - CompTia Linux+ - CompTIA Systems Support Specialist CSSS
CompTia Pentest+ LPIC-1
Avatar utente
Foto UtenteMassimoB
13,7k 6 12 13
Expert free
 
Messaggi: 3054
Iscritto il: 28 ott 2012, 9:56
Località: Milano

4
voti

[9] Re: Offrire esecuzione di script Python su server

Messaggioda Foto Utentefairyvilje » 7 dic 2019, 20:20

MassimoB anche io faccio solo una riflessione e chiedo scusa a Boiler in anticipo perché sicuramente non ha bisogno del mio contributo per replicare alla tua provocazione, ma sono allergico a certe cose e quindi di tanto in tanto la mia capacità di moderare me stesso oltre che gli altri si incrina giusto un poco.

Potrei dire che non capisco il bisogno di inserire come firma e descrizione profilo una sequela infinita di certificazioni e mezzi-titoli che dal mio punto di vista non hanno particolare valore. Ma se questo è ciò che vuoi trasmettere di te, sei libero di farlo e nessuno sul forum va a questionare il modo in cui decidi di portare avanti la tua immagine professionale qui e coi tuoi clienti.

Boiler credo sia un professionista competente nella sua area, e penso abbia tutto il diritto di chiedere lumi sul forum, anche solo per non reinventare la ruota nel caso qualcuno abbia già avuto modo di mettere in piedi qualcosa di simile. Solo perché lavora per una multinazionale non significa debba diventare autarchico, scappare dai consigli altrui o dal confronto. Tanto più che il problema non era la semplice esecuzione di uno script python.

Potrei continuare la riflessione ma credo finirebbe solo con l'assumere toni asperrimi ed onestamente odio avere contrasti con delle persone su delle palesi quisquilie, quindi facciamo che la chiudo qua :).
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...

Lo sapete che l'arroganza in informatica si misura in nanodijkstra? :D
Avatar utente
Foto Utentefairyvilje
11,5k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 2463
Iscritto il: 24 gen 2012, 19:23

1
voti

[10] Re: Offrire esecuzione di script Python su server

Messaggioda Foto Utenteboiler » 7 dic 2019, 21:34

fairyvilje ha scritto:Tanto più che il problema non era la semplice esecuzione di uno script python.

E questo è esattamente il punto.

Poi non so cosa sia peggio... lavorare per una multinazionale e dover chiedere in un forum... o lavorare in proprio e non saper capire il contenuto di un breve testo.

Boiler
Avatar utente
Foto Utenteboiler
15,3k 4 7 13
G.Master EY
G.Master EY
 
Messaggi: 2598
Iscritto il: 9 nov 2011, 12:27


Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti