Closed FabioLuporini closed 12 months ago
Scusa mancava un pezzo in utils.py
!
Adesso dovrebbe funzionare python3 utils.py
😄
@FabioLuporini nel frattempo ho lavorato a un cli tool separato scritto esclusivamente in javascript, così da evitare uno script python che richiama nodejs. Se vuoi darci un'occhiata, spero ti possa tornare utile!
bella roba! lo provo a brevissimo con piacere, potrebbe effettivamente tornarmi utile
poi, spero nel giro di ore/giorni, ti faccio vedere cosa sto facendo con tutto questo anche se dubito potra' esserti utile :)
Ciao Andrea, intanto chiudo l'issue perchè è risolto e funziona! Grazie mille ancora 👍
Ora non tocco più il codice fino a prossimo venerdì per ovvie ragioni lavorative :)
Comunque il nostro obiettivo era questo: https://fabioluporini.github.io/fantagag.live/ Fantacalcio in modalità formula 1.
Ci accodo una domanda: ogni quanto ti senti confidente a prelevare i dati da api.fantacalcio ? al momento ho intervalli di 20-30 minuti solo nelle fasce delle partite
Stavo pensando, se (e solo se) la frequenza di polling si rivelasse un problema, potremmo centralizzare il tutto deployando il programma JS che hai fatto te su GitHub Actions nelle fasce delle partite
Ciao, buona settimana, e grazie per ora :)
Progetto molto interessante! Mi piace anche l'interfaccia!
In teoria si potrebbe fare una richiesta ogni minuto. Infatti se apri gli strumenti da sviluppatore del browser, fantacalcio.it fa un polling dell'api con questa frequenza più o meno.
Inoltre, essendo un api pubblica che viene utilizzata da ogni utente che visualizza i voti live di fantacalcio.it non ci dovrebbero essere limitazioni sul numero di richieste.
L'idea delle github actions non è male ma bisognerebbe leggere i limiti dei runner pubblici di github. Però con un polling ogni 30 minuti potrebbe funzionare.
Per fare un polling più rapido, si potrebbe pensare di far girare lo script su qualche ambiente serverless.
Stavo facendo qualche esperimento con il serverless di cloudflare ma avevo problemi di compatibilità con la libreria protobufjs.
Volevo fare ancora una prova con le lambda functions di aws sfruttando il free tier.
Ho trovato questa guida di Github per vedere il report sull'utilizzo delle Github Actions.
Il limite degli account free è di 2,000 Actions minutes/month.
Ottimo grazie!
Sì, Actions lo usiamo parecchio a lavoro (sia github-hosted che self-hosted). Al momento una run dura 2 minuti e 30 secondi di media, di cui 2 minuti solo per installare 😂 una volta che ho pushato la docker image sull'hub in teoria i tempi li dimezziamo o forse anche di piu'.
Ah, non posso banalmente aggiungere una sleep
in python perchè devo fare il deployment su un altro repo (effettivamente una git push
sul repo che hosta https://fabioluporini.github.io/fantagag.live/), e questo lo faccio da Actions stesso. Quindi l'installazione la sto pagando ad ogni giro...
Comunque, 2000 minuti al mese vuol dire una 30ina di ore. Se ci sono 5 giornate in un mese (caso pessimo), questo vuol dire 6 ore per giornata. Quindi a meno di non fare aggiornamenti troppo frequenti, non avremmo grossissimi problemi.
Per fare un polling più rapido, si potrebbe pensare di far girare lo script su qualche ambiente serverless.
Maggiore la frequenza di polling, più ovviamente l'esperienza di gioco sarebbe migliore, quindi sarei aperto ad opzioni... 🤪
Detto cio', il solo esser arrivati a questo punto per me/noi è sostazialmente un mission accomplished!
Ci sono pero' tantissimi dati che mi è venuto in mente potremmo mostrare (numero di giocatori che hanno giocato vs non giocato, grafici vari, etc). Una volta che hai accesso al live in questo formato, ovviamente si apre un mondo!
Si può iniziare con un polling più lento delle github actions. Eventualmente riducendo all'osso l'immagine docker per ridurre i tempi di download.
Nel frattempo continuo a sperimentare con il serverless per trovare una soluzione più performante (e gratuita possibilmente!). Se trovo qualcosa di interessante ti informo.
Concordo che una volta che si hanno a disposizione i dati, ci sono tantissime informazioni che si potrebbero estrarre 😄
Ciao Andrea,
Ti dice per caso niente il seguente messaggio di errore?
Sto usando:
Questo lo ottengo eseguendo:
Questo dopo aver fatto le seguenti (ovvie) modifiche:
https://github.com/FabioLuporini/fantacalcio-voti-live/tree/reproducer
Ciao, grazie mille, e scusa se stupida domanda !