forked from lateautunm/aioip
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrun.py
45 lines (38 loc) · 1.21 KB
/
run.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# coding:utf-8
import sys
import signal
from os.path import dirname, abspath
import argparse
import importlib
import asyncio
import uvloop
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
project_root_path = dirname(dirname(abspath(__file__)))
sys.path.insert(0, project_root_path)
settings = importlib.import_module('settings')
parser = argparse.ArgumentParser(
description='aioip -- SDK of dynamic IP proxy pool based on python3.6 ')
sub_parsers = parser.add_subparsers(dest='sub_cmd_name')
api = sub_parsers.add_parser('api')
spiders = sub_parsers.add_parser('spiders')
args, unknown_args = parser.parse_known_args()
if args.sub_cmd_name is None:
parser.print_help()
sys.exit()
subcmd_package_name_map = {
"api": "api",
"spiders": "spiders",
"score": "score",
"processing": "processing"
}
subcmd_connector_map = {
"api": [],
"spiders": ["redis", "kafka_producer"],
"score": [],
"processing": [],
}
connector_init = importlib.import_module('connections.instances')
connector_init.init_instances(subcmd_connector_map[args.sub_cmd_name])
module_name = subcmd_package_name_map[args.sub_cmd_name]
module = importlib.import_module(module_name + '.entry')
module.main(args, unknown_args)