Ho tlile joang hore ke phele tjee?
Hase khale haholo ke ile ka tlameha ho sebetsa ka mokokotlo oa morero o tletseng haholo, oo ho oona ho neng ho hlokahala hore ho hlophisoe ts'ebetso e tloaelehileng ea mesebetsi e mengata ea morao-rao e nang le lipalo tse rarahaneng le likōpo tsa litšebeletso tsa batho ba bang. Morero ha o lumellane le pele ke tla, o ne o e-na le mokhoa o bonolo oa ho etsa mesebetsi ea ho qala cron: loop e lekola nako ea hajoale le ho qala lihlopha tsa li-coroutines ka ho bokella - mokhoa ona o ile oa amoheleha ho fihlela ho na le li-coroutines tse joalo tse makholo le tse makholo. , leha ho le joalo, ha palo ea bona e feta likete tse peli, ke ile ka tlameha ho nahana ka ho hlophisa mokoloko o tloaelehileng oa mosebetsi le broker, basebetsi ba 'maloa, joalo-joalo.
Pele ke ile ka etsa qeto ea ho leka Celery, eo ke neng ke e sebelisitse pele. Ka lebaka la sebopeho sa morero, ke ile ka itahlela ka har'a potso mme ka bona
Ke tla bua sena, morero ona o thahasellisa haholo 'me o sebetsa ka katleho lits'ebetsong tse ling tsa sehlopha sa rona,' me mongoli ka boeena o re o khonne ho e fetisetsa tlhahisong ka ho sebelisa letamo la asynchronous. Empa, ka bomalimabe, e ne e hlile e sa ntšoane, joalokaha ho ile ha etsahala
Tabeng ena, ke ile ka qala ho batla mekhoa e meng mme a e fumana! Baetsi ba celery, ka ho khetheha, joalo ka ha ke e utloisisa
Hape, u ka sheba
Re etsa'ng?
Kahoo, letotong le lekhuts'oane la lingoloa, ke tla u bontša mokhoa oa ho bokella data ho tsoa mesebetsing ea morao-rao u sebelisa Faust. Mohloli oa morero oa rona oa mohlala e tla ba, joalo ka ha lebitso le fana ka maikutlo,
PS Ha re sheba ka kholiseho eo ntlha ea ho beha leihlo e ngotsoeng ka eona, ke nahana hore 'mali qetellong ea sengoloa sa ho qetela o ntse a tla shebahala tjena:
Litlhoko tsa morero
Ka lebaka la hore ke se ke tšepisitse, ha re etse lethathamo le lenyenyane la seo tšebeletso e lokelang ho khona ho se etsa:
- Kenya li-securities le kakaretso ea tsona (ho kenyeletsoa phaello le tahlehelo, leqephe la tekanyo, phallo ea chelete - bakeng sa selemo se fetileng) - khafetsa
- Kenya lintlha tsa nalane (bakeng sa selemo se seng le se seng sa khoebo, fumana boleng bo feteletseng ba theko e koalang ea khoebo) - khafetsa
- Kenya lintlha tsa morao-rao tsa khoebo - khafetsa
- Kenya lethathamo le ikhethileng la matšoao bakeng sa ts'ireletso ka 'ngoe - khafetsa
Joalo ka ha ho lebelletsoe, re khetha lebitso la projeke ho tloha qalong: Horton
Re ntse re lokisa meaho
Sehlooho se hlile se matla, leha ho le joalo, sohle seo u hlokang ho se etsa ke ho ngola config e nyane bakeng sa docker-compose le kafka (le zookeeper - ka setshelo se le seng), kafdrop (haeba re batla ho sheba melaetsa ka lihlooho), mongodb. Rea fumana [docker-compose.yml](
version: '3'
services:
db:
container_name: horton-mongodb-local
image: mongo:4.2-bionic
command: mongod --port 20017
restart: always
ports:
- 20017:20017
environment:
- MONGO_INITDB_DATABASE=horton
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=admin_password
kafka-service:
container_name: horton-kafka-local
image: obsidiandynamics/kafka
restart: always
ports:
- "2181:2181"
- "9092:9092"
environment:
KAFKA_LISTENERS: "INTERNAL://:29092,EXTERNAL://:9092"
KAFKA_ADVERTISED_LISTENERS: "INTERNAL://kafka-service:29092,EXTERNAL://localhost:9092"
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT"
KAFKA_INTER_BROKER_LISTENER_NAME: "INTERNAL"
KAFKA_ZOOKEEPER_SESSION_TIMEOUT: "6000"
KAFKA_RESTART_ATTEMPTS: "10"
KAFKA_RESTART_DELAY: "5"
ZOOKEEPER_AUTOPURGE_PURGE_INTERVAL: "0"
kafdrop:
container_name: horton-kafdrop-local
image: 'obsidiandynamics/kafdrop:latest'
restart: always
ports:
- '9000:9000'
environment:
KAFKA_BROKERCONNECT: kafka-service:29092
depends_on:
- kafka-service
Ha ho letho le rarahaneng mona ho hang. Ho ile ha phatlalatsoa bamameli ba babeli bakeng sa kafka: e le 'ngoe (ea ka hare) bakeng sa ho sebelisoa ka har'a marang-rang a kopantsoeng, le ea bobeli (ea ka ntle) bakeng sa likōpo tse tsoang ka ntle, kahoo ba e fetisetsa ka ntle. 2181 - boema-kepe ba polokelo ea liphoofolo. Tse ling kaofela, ke nahana, li hlakile.
Ho lokisa skeleton ea morero
Ka mofuta oa mantlha, sebopeho sa projeke ea rona se lokela ho shebahala tjena:
horton
├── docker-compose.yml
└── horton
├── agents.py *
├── alphavantage.py *
├── app.py *
├── config.py
├── database
│ ├── connect.py
│ ├── cruds
│ │ ├── base.py
│ │ ├── __init__.py
│ │ └── security.py *
│ └── __init__.py
├── __init__.py
├── records.py *
└── tasks.py *
*Tsohle tseo ke li hlokometseng Ha re so e ame, re etsa feela lifaele tse se nang letho.**
Re thehile sebopeho. Joale ha re kenyelleng litšepeho tse hlokahalang, ngola config mme o hokela mongodb. Nke ke ka fana ka litemana tse feletseng tsa lifaele tse sehloohong sena, e le hore ke se ke ka liehisa, empa ke tla fana ka li-link tsa liphetolelo tse hlokahalang.
Ha re qale ka ho itšetleha le meta mabapi le morero -
Ka mor'a moo, re qala ho kenya litšepe le ho theha virtualenv (kapa u ka iketsetsa foldara ea venv 'me ua kenya tšebetsong tikoloho):
pip3 install poetry (если ещё не установлено)
poetry install
Joale ha re theheng
Ha o hokela Mongo, tsohle li bonolo haholo. phatlalatsoa
Ho tla latela eng?
Sengoliloeng ha se nako e telele haholo, kaha mona ke bua feela ka khothatso le boitokisetso, kahoo u se ke ua mpea molato - ke tšepisa hore karolo e latelang e tla ba le liketso le litšoantšo.
Kahoo, karolong ena e latelang re:
- Ha re ngoleng moreki e monyane bakeng sa alphavantage ho aiohttp ka likopo tsa liphetho tseo re li hlokang.
- Ha re theheng moemeli ea tla bokella lintlha tsa matšeliso le litheko tsa nalane bakeng sa bona.
Source: www.habr.com