|
@@ -190,10 +190,10 @@ def get_hlfx(data):
|
|
|
|
|
|
|
|
|
|
def tech_anal(stocks, hlfx_pool):
|
|
def tech_anal(stocks, hlfx_pool):
|
|
-
|
|
|
|
|
|
+ print(f'{dt.now()}开始循环计算! MyPid is {os.getpid()}')
|
|
engine_tech = create_engine('mysql+pymysql://root:r6kEwqWU9!v3@localhost:3307/qmt_stocks_tech?charset=utf8')
|
|
engine_tech = create_engine('mysql+pymysql://root:r6kEwqWU9!v3@localhost:3307/qmt_stocks_tech?charset=utf8')
|
|
m = 0
|
|
m = 0
|
|
- print(f'{dt.now()}开始循环计算! MyPid is {os.getpid()}')
|
|
|
|
|
|
+
|
|
for stock in stocks:
|
|
for stock in stocks:
|
|
try:
|
|
try:
|
|
df = pd.read_sql_table('%s_1d' % stock, con=engine)
|
|
df = pd.read_sql_table('%s_1d' % stock, con=engine)
|
|
@@ -223,7 +223,8 @@ def tech_anal(stocks, hlfx_pool):
|
|
else:
|
|
else:
|
|
print(f"{stock} 成功!")
|
|
print(f"{stock} 成功!")
|
|
m += 1
|
|
m += 1
|
|
- print(f'Pid:{os.getpid()}已经完工了,应处理{len(stocks)},共计算{m}支个股')
|
|
|
|
|
|
+
|
|
|
|
+ # print(f'Pid:{os.getpid()}已经完工了,应处理{len(stocks)},共计算{m}支个股')
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
if __name__ == '__main__':
|
|
@@ -241,8 +242,12 @@ if __name__ == '__main__':
|
|
pool = mp.Pool(processes=mp.cpu_count())
|
|
pool = mp.Pool(processes=mp.cpu_count())
|
|
step = math.ceil(len(stocks) / mp.cpu_count())
|
|
step = math.ceil(len(stocks) / mp.cpu_count())
|
|
# step = 10000
|
|
# step = 10000
|
|
|
|
+ x = 1
|
|
for i in range(0, len(stocks), step):
|
|
for i in range(0, len(stocks), step):
|
|
- pool.apply_async(func=tech_anal, args=(stocks[i:i + step], hlfx_pool,), error_callback=err_call_back)
|
|
|
|
|
|
+ print(x)
|
|
|
|
+ pool.apply_async(func=tech_anal, args=(stocks[i:i + step], hlfx_pool, ), error_callback=err_call_back)
|
|
|
|
+ x += 1
|
|
|
|
+ time.sleep(5)
|
|
pool.close()
|
|
pool.close()
|
|
pool.join()
|
|
pool.join()
|
|
|
|
|