Skip to content

Commit 4508d9a

Browse files
authored
Merge pull request #2 from smallintro/python_es_kafka
refactored code to fix namespace issue
2 parents 1fde040 + 6073183 commit 4508d9a

File tree

25 files changed

+143
-144
lines changed

25 files changed

+143
-144
lines changed
File renamed without changes.

article-search/.gitignore

Lines changed: 128 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,130 @@
1-
.idea
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
build/
12+
develop-eggs/
13+
dist/
14+
downloads/
15+
eggs/
16+
.eggs/
17+
lib/
18+
lib64/
19+
parts/
20+
sdist/
21+
var/
22+
wheels/
23+
pip-wheel-metadata/
24+
share/python-wheels/
25+
*.egg-info/
26+
.installed.cfg
27+
*.egg
28+
MANIFEST
29+
30+
# PyInstaller
31+
# Usually these files are written by a python script from a template
32+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
33+
*.manifest
34+
*.spec
35+
36+
# Installer logs
37+
pip-log.txt
38+
pip-delete-this-directory.txt
39+
40+
# Unit test / coverage reports
41+
htmlcov/
42+
.tox/
43+
.nox/
44+
.coverage
45+
.coverage.*
46+
.cache
47+
nosetests.xml
48+
coverage.xml
49+
*.cover
50+
*.py,cover
51+
.hypothesis/
52+
.pytest_cache/
53+
54+
# Translations
55+
*.mo
56+
*.pot
57+
58+
# Django stuff:
59+
*.log
60+
local_settings.py
61+
db.sqlite3
62+
db.sqlite3-journal
63+
64+
# Flask stuff:
65+
instance/
66+
.webassets-cache
67+
68+
# Scrapy stuff:
69+
.scrapy
70+
71+
# Sphinx documentation
72+
docs/_build/
73+
74+
# PyBuilder
75+
target/
76+
77+
# Jupyter Notebook
78+
.ipynb_checkpoints
79+
80+
# IPython
81+
profile_default/
82+
ipython_config.py
83+
84+
# pyenv
85+
.python-version
86+
87+
# pipenv
88+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
89+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
90+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
91+
# install all needed dependencies.
92+
#Pipfile.lock
93+
94+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow
95+
__pypackages__/
96+
97+
# Celery stuff
98+
celerybeat-schedule
99+
celerybeat.pid
100+
101+
# SageMath parsed files
102+
*.sage.py
103+
104+
# Environments
105+
.env
106+
.venv
107+
env/
108+
venv/
109+
ENV/
110+
env.bak/
111+
venv.bak/
2112
*.iml
3113

114+
# Spyder project settings
115+
.spyderproject
116+
.spyproject
117+
118+
# Rope project settings
119+
.ropeproject
120+
121+
# mkdocs documentation
122+
/site
123+
124+
# mypy
125+
.mypy_cache/
126+
.dmypy.json
127+
dmypy.json
128+
129+
# Pyre type checker
130+
.pyre/

article-search/app/.gitignore

Lines changed: 0 additions & 130 deletions
This file was deleted.
File renamed without changes.
File renamed without changes.

article-search/src/api/__init__.py

Whitespace-only changes.

article-search/app/src/article_api.py renamed to article-search/src/api/article_api.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from fastapi import FastAPI
22
from starlette import status
3-
import service.app_service as app_service
4-
from model.data_model import ArticleInfo, AppResponse
5-
from config.es_config import es_obj
3+
from appservice import app_service
4+
from appmodel.data_model import ArticleInfo, AppResponse
5+
from elasticservice.es_config import es_obj
66

77
app_v1 = FastAPI()
88

article-search/src/appconfig/__init__.py

Whitespace-only changes.

article-search/src/appmodel/__init__.py

Whitespace-only changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import *

article-search/app/src/service/app_service.py renamed to article-search/src/appservice/app_service.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import service.elasticsearch_service as es
2-
import service.kafka_producer as kfk
3-
from model.data_model import ArticleInfo
1+
from elasticservice import es_service as es
2+
from kafkaservice import kafka_producer as kfk
3+
from appmodel.data_model import ArticleInfo
44

55

66
def save_article_info(article: ArticleInfo):

article-search/src/elasticservice/__init__.py

Whitespace-only changes.

article-search/app/src/service/elasticsearch_service.py renamed to article-search/src/elasticservice/es_service.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import json
2-
from config.es_config import es_obj, default_index
2+
from elasticservice.es_config import es_obj, default_index
33

44

55
def add_doc_to_index(document_data, index_name=default_index):

article-search/src/kafkaservice/__init__.py

Whitespace-only changes.

article-search/app/src/config/kafka_config.py renamed to article-search/src/kafkaservice/kafka_config.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from kafka import KafkaConsumer
33
import json
44

5-
bootstrap_servers = ['localhost:9092']
5+
bootstrap_servers = ['Win11Home.localdomain:9092']
66
default_topic = 'python-kafka-topic'
77
group_id = 'kafka-group-id'
88

@@ -24,7 +24,8 @@ def init_kafka_consumer(topic_name=default_topic):
2424
_text_consumer = KafkaConsumer(topic_name, group_id=group_id, bootstrap_servers=bootstrap_servers)
2525
_consumer = KafkaConsumer(topic_name, group_id=group_id, bootstrap_servers=bootstrap_servers,
2626
auto_offset_reset='earliest', enable_auto_commit=True,
27-
value_deserializer=lambda x: json.loads(x.decode('utf-8')))
27+
value_deserializer=lambda x: json.loads(x.decode('utf-8')),
28+
max_poll_interval_ms=1000000)
2829
print(f"init_kafka_consumer finished")
2930

3031

article-search/app/src/service/kafka_consumer.py renamed to article-search/src/kafkaservice/kafka_consumer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from kafka.errors import KafkaError
2-
import config.kafka_config as kfk
2+
import kafkaservice.kafka_config as kfk
33

44

55
def consume_str_message():

article-search/app/src/service/kafka_producer.py renamed to article-search/src/kafkaservice/kafka_producer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from kafka.errors import KafkaError
2-
import config.kafka_config as kfk
2+
from kafkaservice import kafka_config as kfk
33

44

55
def on_send_success(record_metadata):

article-search/app/src/main.py renamed to article-search/src/main.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import logging
66
import uvicorn
77
import threading
8-
from service.kafka_consumer import consume_message
8+
from kafkaservice.kafka_consumer import consume_message
99

1010

1111
def init_app():
@@ -20,4 +20,4 @@ def init_app():
2020
if __name__ == "__main__":
2121
init_app()
2222
# uvicorn article_api:app --port 8080 --reload
23-
uvicorn.run("article_api:app_v1", host="127.0.0.1", port=8080, log_level="info")
23+
uvicorn.run("api.article_api:app_v1", host="127.0.0.1", port=8080, log_level="info", reload=True)

article-search/src/redisservice/__init__.py

Whitespace-only changes.

article-search/test/__init__.py

Whitespace-only changes.

0 commit comments

Comments
 (0)