Python3 projesini AWS'ye taşıma

0

Soru

Python3 projemi AWS'ye nasıl geçireceğimi araştırıyorum ancak bir çözüm bulamıyorum. Python3 projem oldukça basit:

daemon.py - > Bu sonsuz ve gerçek bir döngüdür. Bir API'ye istekleri alır. Saniyede mümkün olduğunca fazla talepte bulunmak önemlidir. Sonra mysql db içine saklar. İstek her zaman aynıdır, GET /apı/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 - > Mysql'de değişiklik arayan başka bir while True döngüsü, bir değişiklik algıladığında bir API'ye GET isteği gönderir.

Lambda'yı öğrendim ama ınfinite loop'u çalıştırmanın iyi bir fikir olup olmadığından emin değilim, anladığım kadarıyla yürütme süresine göre ücret alıyorlar... ve bu sonsuz döngü.

Şimdiden teşekkürler.

3

En iyi cevabı

1

Sizin için etkili olup olmadığı yalnızca bu indirmelerin her birine ne kadar değer verdiğinize bağlıdır ve cevabı bilmek için yeterli bilgiye sahip değiliz.

Bunu her zaman mı yoksa belirli bir süre için belirli zamanlarda mı çalıştırmak istediğinize dair bir soru da var. İlk durumda, fargate veya ec2 daha iyi adaylar olabilir, ikincisi ise süreci ne kadar süreyle çalıştırdığınıza bağlıdır.

Gerçi mevcut sistem ile artırabilir bazı şeyler vardır - boş zamanın çok değerli olan yanıtların her biri için bekliyor gibisin. Ya uyumsuz ya da havuzu yaklaşımlarla verimini arttıracak. (gerçekten tüm öğeleri listeleyen tek bir uç nokta olmadıkça)

Başka bir şey, mutlaka koşmanıza gerek olmamasıdır ship.py durum çok sık değişmezse bir izleme döngüsü olarak. Zaten aws'deyseniz, bildirimi bunun yerine SQS mesajları olarak yapabilirsiniz; bu da bildirimi tetikleyecektir. ship.py bir lambda olarak işlem yapın-bu aslında size bazı kaynaklar kazandıracaktır.

2021-11-23 00:41:40

Teşekkürler cevap için. POST cevabı bir json'dur ve değişikliği mümkün olduğunca çabuk tespit etmem gerekir (bu nedenle birçok POST isteği/saniye yapar). Bu her zaman 24x7 çalışmalıdır. Hakkında ship.py ve lambda, teşekkürler. Bunun zaten farkındayım ve muhtemelen bunu yapacağım. Şu anda nasıl göç edebileceğimi keşfetmeye çalışıyorum daemon.py anahtar da bu zaten.
Frank
0

Tamam, en iyi yaklaşımın Aurora ile EC2'DE daemon'u çalıştırmak ve göç etmeye çalışmak olduğunu öğrendim ship.py viraptor'un dediği gibi.

2021-11-23 12:31:06
0

lambda sunucusuz bir python projesi kullanıyorsanız, ne yapmak istediğinizi yapacaksınız, ancak oldukça önemli bir şekilde faturalandırılacaksınız.

işte dokümanlar: AWS-Lambda-Python

Komut dosyanızdan veritabanına veri aktarmak için sqs'yi de kullanın.

2021-11-23 13:00:33

Diğer dillerde

Bu sayfa diğer dillerde

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