mirror of
https://github.com/Bryanthelol/namekoplus
synced 2025-09-13 21:46:02 +08:00
Compare commits
10 Commits
v0.4.1
...
e19884b1c0
Author | SHA1 | Date | |
---|---|---|---|
e19884b1c0 | |||
2f4c5b5d82 | |||
68b8eb6c3b | |||
2c58ffd698 | |||
57ff3be326 | |||
44ecc83e1a | |||
ab47aa2551 | |||
18ec9b259b | |||
19deb5473d | |||
e480218d3e |
@@ -1,8 +1,10 @@
|
|||||||
# namekoplus
|
# namekoplus
|
||||||
|
|
||||||
|
[](https://github.com/Bryanthelol/namekoplus/actions/workflows/python-publish.yml)
|
||||||
|
|
||||||
A lightweight Python distributed microservice solution
|
A lightweight Python distributed microservice solution
|
||||||
|
|
||||||
## Command Line Tool Usage
|
## CLI Usage
|
||||||
|
|
||||||
### Checkout Command
|
### Checkout Command
|
||||||
|
|
||||||
@@ -27,5 +29,5 @@ namekoplus init --directory <dir_name> --type <template_type>
|
|||||||
|
|
||||||
See Documents:
|
See Documents:
|
||||||
|
|
||||||
- [中文](https://doc.bearcatlog.com/)
|
- [English](https://murl.vip/TwML)
|
||||||
- [English](https://legendary-sopapillas-e2626d.netlify.app/)
|
- [中文](https://murl.vip/B0O9)
|
@@ -1,4 +1,3 @@
|
|||||||
import importlib
|
|
||||||
import inspect
|
import inspect
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
@@ -10,7 +9,6 @@ import shortuuid
|
|||||||
from python_on_whales import DockerException, ClientNotFoundError, DockerClient, docker
|
from python_on_whales import DockerException, ClientNotFoundError, DockerClient, docker
|
||||||
from mako.template import Template
|
from mako.template import Template
|
||||||
|
|
||||||
|
|
||||||
INIT_TYPE_CHOICES = ['all', 'rpc', 'event', 'http', 'timer', 'demo']
|
INIT_TYPE_CHOICES = ['all', 'rpc', 'event', 'http', 'timer', 'demo']
|
||||||
MIDDLEWARE_CHOICES = ['rabbitmq', 'metrics']
|
MIDDLEWARE_CHOICES = ['rabbitmq', 'metrics']
|
||||||
TEST_TYPE_CHOICES = ['unit']
|
TEST_TYPE_CHOICES = ['unit']
|
||||||
@@ -29,9 +27,10 @@ def check_docker():
|
|||||||
click.echo('Please start docker correctly', err=True)
|
click.echo('Please start docker correctly', err=True)
|
||||||
raise
|
raise
|
||||||
|
|
||||||
if not docker.compose.is_installed():
|
# TODO 目前在某些系统环境的检查不准确,暂时去除这个检查逻辑
|
||||||
click.echo('Please install docker-compose first', err=True)
|
# if not docker.compose.is_installed():
|
||||||
raise
|
# click.echo('Please install docker-compose first', err=True)
|
||||||
|
# raise
|
||||||
|
|
||||||
|
|
||||||
@contextmanager
|
@contextmanager
|
||||||
@@ -110,7 +109,7 @@ def start_statsd_agent():
|
|||||||
|
|
||||||
def start_statsd_exporter():
|
def start_statsd_exporter():
|
||||||
with status(f'Starting statsd exporter'):
|
with status(f'Starting statsd exporter'):
|
||||||
statsd_mapping_file_path = os.path.join('.', 'statsd_mapping.yml')
|
statsd_mapping_file_path = os.path.join(os.getcwd(), 'statsd_mapping.yml')
|
||||||
returned_string = docker.run(image='prom/statsd-exporter:latest', name='statsd-exporter', pull='missing',
|
returned_string = docker.run(image='prom/statsd-exporter:latest', name='statsd-exporter', pull='missing',
|
||||||
detach=True, restart='always', tty=True, hostname='statsd-exporter',
|
detach=True, restart='always', tty=True, hostname='statsd-exporter',
|
||||||
publish=[(9125, 9125, 'udp'), (9102, 9102)], interactive=True,
|
publish=[(9125, 9125, 'udp'), (9102, 9102)], interactive=True,
|
||||||
@@ -159,6 +158,7 @@ def stop_network(network_name):
|
|||||||
|
|
||||||
|
|
||||||
def start_metric_servers():
|
def start_metric_servers():
|
||||||
|
# TODO 检查相应容器是否已启动,如果启动,则先删除
|
||||||
start_network('metric_servers')
|
start_network('metric_servers')
|
||||||
sleep(0.5)
|
sleep(0.5)
|
||||||
start_prometheus()
|
start_prometheus()
|
||||||
@@ -325,9 +325,11 @@ def metric_config_gen(module, class_name_str):
|
|||||||
import sys
|
import sys
|
||||||
from statsd.client.timer import Timer
|
from statsd.client.timer import Timer
|
||||||
sys.path.append(os.getcwd())
|
sys.path.append(os.getcwd())
|
||||||
|
for root, dirs, files in os.walk(os.getcwd()):
|
||||||
|
for _dir in dirs:
|
||||||
|
sys.path.append(os.path.join(root, _dir))
|
||||||
|
|
||||||
# Extract information of statsd config from the class of nameko service
|
# Extract information of statsd config from the class of nameko service
|
||||||
dest_dir = module.split('.')[0]
|
|
||||||
file_name = module.split('.')[-1]
|
file_name = module.split('.')[-1]
|
||||||
_module = __import__(module)
|
_module = __import__(module)
|
||||||
|
|
||||||
|
14
setup.py
14
setup.py
@@ -9,7 +9,7 @@ with open(path.join(here, 'README.md'), encoding='utf-8') as f:
|
|||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='namekoplus',
|
name='namekoplus',
|
||||||
version='0.4.1',
|
version='0.4.11',
|
||||||
description='A lightweight Python distributed microservice solution',
|
description='A lightweight Python distributed microservice solution',
|
||||||
long_description=long_description,
|
long_description=long_description,
|
||||||
long_description_content_type='text/markdown',
|
long_description_content_type='text/markdown',
|
||||||
@@ -50,7 +50,7 @@ setup(
|
|||||||
install_requires=[
|
install_requires=[
|
||||||
'nameko==3.0.0rc11',
|
'nameko==3.0.0rc11',
|
||||||
'click==8.1.5',
|
'click==8.1.5',
|
||||||
'python-on-whales==0.63.0',
|
'python-on-whales==0.64.0',
|
||||||
'pytest==7.4.0',
|
'pytest==7.4.0',
|
||||||
'mako==1.2.4',
|
'mako==1.2.4',
|
||||||
'shortuuid==1.0.11'
|
'shortuuid==1.0.11'
|
||||||
@@ -63,15 +63,7 @@ setup(
|
|||||||
'ob': ['statsd==4.0.1',
|
'ob': ['statsd==4.0.1',
|
||||||
'nameko-sentry==1.0.0',
|
'nameko-sentry==1.0.0',
|
||||||
'nameko-tracer==1.4.0'],
|
'nameko-tracer==1.4.0'],
|
||||||
'apiflask': ['apiflask>=1.3.1',
|
'schema': ['marshmallow==3.20.1'],
|
||||||
'gevent>=22.10.2',
|
|
||||||
'gunicorn==20.1.0'],
|
|
||||||
'rocketry': ['rocketry==2.4.0'],
|
|
||||||
'gutter': ['gutter==0.5.0'],
|
|
||||||
'mysql': ['pymysql==1.0.3',
|
|
||||||
'sqlalchemy==2.0.15',
|
|
||||||
'sqlacodegen==2.3.0',
|
|
||||||
'alembic==1.11.1'],
|
|
||||||
'security': ['cryptography'],
|
'security': ['cryptography'],
|
||||||
'dev': ['environs==9.5.0']
|
'dev': ['environs==9.5.0']
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user