Migrar Python3 proyecto en AWS

0

Pregunta

He estado investigando cómo migrar mi python3 proyecto en AWS, pero soy incapaz de encontrar una solución. Mi python3 proyecto es bastante simple:

daemon.py -> Este es un infinito mientras que el Verdadero bucle. Que no se pide a una API. Es importante que como mucho peticiones por segundo como sea posible. A continuación, se almacena en una base de datos mysql. La solicitud es siempre la misma, 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 -> Otro mientras que el Verdadero lazo de buscar cambios en la base de datos mysql, cuando se detecta un cambio envía una solicitud GET a una API.

Me enteré de lambda, pero no estoy seguro si es una buena idea para ejecutar un bucle infinito sobre como entiendo que te cobran por el tiempo de ejecución... y esto es un bucle infinito.

Gracias de antemano.

3

Mejor respuesta

1

Si es eficaz para usted sólo depende de cuánto valor de cada una de esas descargas y no tenemos suficiente información para saber la respuesta.

También hay una cuestión de si desea ejecutar este todo el tiempo, o en algunos momentos por una duración específica. En el primer caso, fargate o ec2 pueden ser mejores candidatos, en el segundo, depende de cuánto tiempo se ejecuta el proceso.

Hay algunas cosas que usted puede mejorar a pesar de que con el sistema actual, que parece estar esperando cada una de las respuestas que significa un montón de tiempo de inactividad. Usted puede mejorar el rendimiento, ya sea con async o threadpool enfoques. (a menos que sea realmente un solo extremo de la lista de todos los elementos)

Otra es que usted no necesariamente necesita para ejecutar ship.py como un lazo de monitoreo si el estado no cambia muy a menudo. Si ya estás en AWS, usted podría hacer la notificación como SQS mensajes lugar, que el fuego de la ship.py proceso de lambda - que en realidad es probable que ahorrar algunos recursos.

2021-11-23 00:41:40

Gracias por tu respuesta. El POST de respuesta es un json y necesito para detectar el cambio tan rápido como sea posible (por eso de hacer muchos POST de peticiones/segundo). Esto se debe ejecutar todos los tiempos 24x7. Acerca de ship.py y lambda, gracias. Ya soy consciente acerca de esto y de lo probable es que va a hacer que. Actualmente estoy intentando descubrir cómo puedo migrar daemon.py como esa es la clave.
Frank
0

Ok, que se encuentra fuera mejor enfoque es ejecutar el demonio en EC2 con Aurora y de intentar migrar ship.py como viraptor dijo.

2021-11-23 12:31:06
0

si usted hace uso de una expresión lambda serverless proyecto de python, que será para hacer lo que usted piensa, pero se le facturará de forma significativa.

aquí están los docs: AWS Lambda-Python

También el uso de SQS para empujar los datos de la secuencia de comandos a la base de datos.

2021-11-23 13:00:33

En otros idiomas

Esta página está en otros idiomas

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