Na faapefea ona ou ola faapena?
E leʻi leva talu ai sa tatau ona ou galue i le pito i tua o se galuega maualuga tele, lea e manaʻomia ai le faʻatulagaina o le faʻatinoina masani o le tele o galuega i tua atu ma faʻatusatusaga faigata ma talosaga mo auaunaga isi vaega. O le poloketi e le tutusa ma ae ou te leʻi sau, sa i ai se faiga faigofie mo galuega faʻapipiʻi: o se matasele e siaki ai le taimi nei ma faʻalauiloa vaega o coroutines e ala i le faʻapotopotoina - o lenei auala na faʻaalia e talia seʻia oʻo i le tele ma le selau o ia coroutines. , ae ui i lea, ina ua sili atu lo latou numera i le lua afe, sa tatau ona ou mafaufau e uiga i le faʻatulagaina o se faʻasologa masani o galuega ma se tagata fai pisinisi, tele tagata faigaluega, ma isi.
Muamua na ou filifili e faataitai le Seleri, lea na ou faaaogaina muamua. Ona o le asynchronous natura o le poloketi, na ou oso i le fesili ma vaai
O le a ou fai atu lenei mea, o le poloketi e sili ona manaia ma galue lelei i isi faʻaoga a la matou 'au, ma o le tusitala lava ia na fai mai na mafai ona ia faʻaaogaina i le gaosiga e ala i le faʻaaogaina o se vaitaele asynchronous. Ae, o le mea e leaga ai, e leʻi fetaui lelei ia te aʻu, e pei ona iʻu ai
I lenei tulaga, na amata ona ou tilotilo isi auala ma maua ai! O tagata na faia seleni, aemaise lava, e pei ona ou malamalama i ai
E le gata i lea, e mafai ona e vaʻai
O le a le mea tatou te faia?
O lea la, i se faʻasologa puupuu o tala, o le a ou faʻaali atu ia te oe le auala e aoina ai faʻamatalaga mai galuega i tua e faʻaaoga ai Faust. O le puna mo la matou faʻataʻitaʻiga poloketi o le a, e pei ona taʻu mai e le igoa,
P.S. I le faʻamasinoina o le talitonuga na tusia ai le parakalafa e uiga i le mataʻituina, ou te manatu o le tagata faitau i le faaiuga o le tusiga mulimuli o le a foliga mai e pei o lenei:
Poloketi mana'oga
Ona o le mea moni ua uma ona ou folafola atu, seʻi o tatou faia se lisi laʻititi o mea e tatau ona mafai e le auʻaunaga ona fai:
- Tu'u i luga fa'amalumaluga ma se va'aiga lautele o latou (e aofia ai tupe mama ma gau, pepa paleni, tinoitupe - mo le tausaga talu ai) - masani
- Tu'u mai fa'amaumauga fa'asolopito (mo tausaga fa'atau ta'itasi, su'e tau fa'agata o le tau fa'ai'uga o fefa'ataua'iga) - i taimi uma
- Tu'u mai fa'amatalaga fou tau fefa'ataua'iga - i taimi uma
- Tu'u mai se lisi fa'apitoa o fa'ailoga mo puipuiga ta'itasi - i taimi uma
E pei ona faʻamoemoeina, matou te filifilia se igoa mo le poloketi mai le amataga: pu'u
O loʻo matou saunia mea tetele
E mautinoa lava le malosi o le ulutala, peitaʻi, pau lava le mea e te manaʻomia e fai o le tusia lea o se laʻititi laʻititi mo le docker-compose ma le kafka (ma le zookeeper - i totonu o le pusa e tasi), kafdrop (afai tatou te fia vaʻai i feʻau i autu), mongodb. Matou te maua [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
E leai lava se mea faigata iinei. E lua tagata faʻalogo na faʻaalia mo le kafka: tasi (i totonu) mo le faʻaogaina i totonu o le fesoʻotaʻiga tuʻufaʻatasia, ma le lona lua (fafo) mo talosaga mai fafo, o lea na latou tuʻuina atu i fafo. 2181 — uafu leoleo manu. O isi, ou te manatu, e manino.
Saunia le auivi o le poloketi
I le faʻavae faʻavae, o le fausaga o la matou poloketi e tatau ona pei o lenei:
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 *
*O mea uma na ou matauina Matou te le'i pa'i i ai, na'o le faia o faila gaogao.**
Na matou faia se fausaga. Sei o tatou faʻaopopo mea faʻalagolago e manaʻomia, tusi le config ma faʻafesoʻotaʻi i mongodb. O le a ou le tuʻuina atu le tusiga atoa o faila i totonu o le tusiga, ina ia aua neʻi faʻatuai, ae o le a ou tuʻuina atu fesoʻotaʻiga i faʻamatalaga talafeagai.
Tatou amata i fa'alagolago ma meta e uiga i le poloketi -
Le isi, matou amata faʻapipiʻi faʻalagolago ma fatuina se virtualenv (pe mafai ona e fatuina le venv folder oe lava ma faʻagaoioia le siosiomaga):
pip3 install poetry (если ещё не установлено)
poetry install
Se'i o tatou fatuina
A faʻafesoʻotaʻi i Mongo, e faigofie mea uma. fofogaina
O le a le mea o le a sosoo ai?
O le tusiga e le umi tele, talu ai o loʻo ou talanoa e uiga i le faʻaosofia ma le sauniuni, o lea aua e te tuuaʻia aʻu - Ou te folafola atu o le isi vaega o le ai ai se gaioiga ma ata.
O lea la, i lenei vaega e sosoo ai tatou:
- Se'i o tatou tusi se tama'i tagata fa'atau mo le alphavantage i luga ole aiohttp ma talosaga mo fa'ai'uga tatou te mana'omia.
- Sei o tatou faia se sooupu o le a aoina faʻamatalaga i luga o faʻamaumauga ma tau faʻasolopito mo latou.
puna: www.habr.com