Migra Python3 proiect în AWS

0

Problema

Am investigat cum să migreze mea python3 proiect în AWS dar eu sunt în imposibilitatea de a găsi o soluție. Mi python3 proiect este destul de simplu:

daemon.py -> Acesta este un infinit în timp ce buclă Adevărat. Aceasta nu Primește cereri de la un API. Este important să se facă cât mai multe cereri pe secundă posibil. Apoi o stochează într-mysql db. Cererea este întotdeauna același, IA /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 Alt în timp ce buclă Adevărat în căutarea pentru schimbări în mysql, atunci când detectează o modificare a trimite o cerere pentru un API.

Am aflat despre lambda dar nu sunt sigur dacă este o idee bună pentru a rula buclă infinită pe ea ca am inteles ca taxa de timpul de executie... și acest lucru este buclă infinită.

Mulțumesc în avans.

3

Cel mai bun răspuns

1

Dacă este eficient pentru tine depinde doar de cât de mult vă valoare fiecare dintre aceste descărcări și nu avem suficiente informații pentru a ști răspunsul.

Există, de asemenea, o chestiune de dacă doriți pentru a rula acest lucru tot timpul, sau la unele momente specifice pentru o anumită durată. În primul caz, fargate sau ec2 poate fi mai bine candidații, în al doilea rând, depinde de cât de mult timp va începe procesul de.

Există unele lucruri pe care le puteți îmbunătăți deși cu sistemul actual pare să - ți fi de așteptare pentru fiecare dintre răspunsurile ceea ce înseamnă o mulțime de timp de inactivitate. S-ar putea îmbunătăți tranzitată fie cu async sau threadpool abordări. (doar dacă este într-adevăr doar un singur efect listarea tuturor elementelor)

Un altul este că nu ai neapărat nevoie pentru a rula ship.py ca o monitorizare bucla dacă statul nu se schimbă foarte des. Dacă sunteți deja în AWS, ai putea face o notificare ca SQS mesaje de schimb, care ar foc ship.py procesul ca o lambda - care e de fapt susceptibile de a salva unele resurse.

2021-11-23 00:41:40

Vă mulțumim pentru răspunsul dumneavoastră. POST răspunsul este un json și am nevoie pentru a detecta schimbarea cât mai repede posibil (motivul pentru care faci multe cereri POST/secundă). Acest lucru trebuie să ruleze tot timpul 24x7. Despre ship.py și lambda, multumesc. Eu sunt deja conștienți de acest lucru și probabil că va face asta. În prezent sunt mai mult încercarea de a descoperi cum pot migra daemon.py ca asta este cheia.
Frank
0

Ok, am aflat mai bună abordare este de a rula daemon în EC2 cu Aurora și să încerce să migreze ship.py ca viraptor spus.

2021-11-23 12:31:06
0

dacă veți face folosiți un lambda fără server python proiect, va fi de a face ceea ce intenționați dar veți fi taxat destul de substanțial.

aici doctorii sunt: AWS Lambda-Python

Folosi, de asemenea, SQS pentru a împinge de date de la script-ul pentru baza de date.

2021-11-23 13:00:33

În alte limbi

Această pagină este în alte limbi

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