La migrazione Python3 progetto in AWS

0

Domanda

Ho svolto una ricerca su come migrare il mio python3 progetto in AWS, ma non riesco a trovare una soluzione. Il mio python3 progetto è abbastanza semplice:

daemon.py -> Questo è un infinito while True loop. Non Riceve le richieste di una API. È importante fare più richieste al sec possibile. Quindi si memorizza nel db mysql. La richiesta è sempre la stessa, GET /api/check_stock.

while True:
  r = requests.post(url,json=body, proxies=proxy_dict)
  r_json = json.loads(r.content)
  insert_db(r_json)

ship.py -> un Altro mentre è Vero ciclo di cercare cambiamenti nella mysql, quando rileva un cambiamento invia una richiesta GET e API.

Ho scoperto circa la lambda, ma non so se è una buona idea per eseguire loop infinito su di esso, come ho capito si fanno pagare il tempo di esecuzione... e questo è un ciclo infinito.

Grazie in anticipo.

3

Migliore risposta

1

Se è efficace per voi dipende solo da quanto è il valore di ciascuno di quei download e non abbiamo abbastanza informazioni per sapere la risposta.

C'è anche una questione di se si desidera eseguire questo tutto il tempo, o in alcuni periodi specifici per una durata specifica. Nel primo caso, fargate o ec2 possono essere candidati migliori, nel secondo, dipende da quanto tempo si esegue il processo.

Ci sono alcune cose che si possono migliorare anche se con l'attuale sistema, ti sembra di essere in attesa per ciascuna delle risposte che significa un sacco di tempo di inattività. Si potrebbe migliorare la velocità con async o threadpool approcci. (a meno che non è davvero solo un singolo endpoint elenco di tutti gli articoli)

Un altro è che non c'è necessariamente bisogno di eseguire ship.py un monitoraggio del ciclo, se lo stato non cambia molto spesso. Se sei già in AWS, si potrebbe fare la notifica come SQS messaggi, invece, che sarebbe il fuoco ship.py processo di lambda - che in realtà è probabile che risparmiare un po ' di risorse.

2021-11-23 00:41:40

Grazie per la tua risposta. Il POST di risposta è un json e ho bisogno di rilevare il cambiamento il più veloce possibile (per questo motivo molti POST di richieste/secondo). Questo deve eseguire tutto il tempo 24x7. Circa ship.py e lambda, grazie. Io sono già a conoscenza di questo e io probabilmente lo farà. Attualmente sto più cercando di scoprire come posso migrare daemon.py come che è la chiave.
Frank
0

Ok, scoperto approccio migliore è quello di eseguire il demone in EC2 con Aurora e tenta di eseguire la migrazione ship.py come viraptor detto.

2021-11-23 12:31:06
0

se si utilizza un lambda serverless progetto di python, si sarà di fare ciò che intendi, ma vi saranno fatturate in maniera significativa.

ecco i documenti: AWS-Lambda-Python

Anche utilizzare SQS per inviare i dati dal tuo script per il database.

2021-11-23 13:00:33

In altre lingue

Questa pagina è in altre lingue

Русский
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................