吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1266|回复: 5
收起左侧

[求助] python多线程自动退出

[复制链接]
shlboliqiao 发表于 2022-1-14 15:49
python 写的一个多线程循环程序,pycharm运行了1个小时自己退出了,最后显示这个。哪位大神知道咋回事吗

process finished with exit code -336589910


from db_conf.db_template import OracleTemplate
import datetime
import threadpool
import time

def date_to_data(batch_num):
    start_date = datetime.datetime.now()
    print(start_date)
    ora_conn=OracleTemplate("NEWORA_MMY")
    day_num_sql = "select /*+parallel(30)*/ trunc(add_months(sysdate,-12),'Y')-min(a.create_date) srv_table_day,to_char(min(a.create_date),'yyyy-mm-dd') min_create_date" \
                  " from srv.diag_result a where a.create_date<trunc(add_months(sysdate,-12),'Y') and mod(DIAG_RESULT_ID,20)=%s"%(batch_num)
    ora_conn.execute(day_num_sql)
    day_num=ora_conn.fetchall(True)
    print(day_num)

    int_srv_table_day=int(day_num[0]['SRV_TABLE_DAY'])
    print(int_srv_table_day)
    min_table_day=day_num[0]['MIN_CREATE_DATE']
    print(min_table_day)


    for c1 in range(0,359):
        print(c1)
        for c2 in range(0,24):
            srv_date_sql=" insert /*nologging */ into mid_diag_result select /*+parallel(30)*/ 'DIAG_RESULT',DIAG_RESULT_ID,'','','','20220114','待归档'  from srv.diag_result where create_date>=to_date('%s %s:00:01','yyyy-mm-dd hh24:mi:ss')+%s and " \
                         " create_date<=to_date('%s %s:59:59','yyyy-mm-dd hh24:mi:ss')+%s and mod(DIAG_RESULT_ID,20)=%s"%(min_table_day,c2,c1,min_table_day,c2,c1,batch_num)
            #print(srv_date_sql)
            ora_conn.execute(srv_date_sql)
            if c1 % 10 == 0:
                ora_conn.commit()
                print('10 over!')
    ora_conn.commit()
    ora_conn.close()
    end_date = datetime.datetime.now()
    print(end_date)
    print(end_date - start_date)
    print('over data~~~')
    time.sleep(2)

#date_to_data()

name_list =['0','1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19']
start_time = time.time()
pool = threadpool.ThreadPool(3)
requests = threadpool.makeRequests(date_to_data, name_list)
[pool.putRequest(req) for req in requests]
pool.wait()
print('%d second'%(time.time()-start_time))

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

suifenging 发表于 2022-1-14 16:46
你可以try...catch一下看看
 楼主| shlboliqiao 发表于 2022-1-14 16:53
suifenging 发表于 2022-1-14 16:46
你可以try...catch一下看看

try...catch..捕获不了异常,pycharm直接Process finished with exit code -336589910
suifenging 发表于 2022-1-14 17:47
shlboliqiao 发表于 2022-1-14 16:53
try...catch..捕获不了异常,pycharm直接Process finished with exit code -336589910

date_to_data 这个函数里面的包一下吧,以前也遇到过,但是不知道什么问题。要不把杀毒软件关了
thepoy 发表于 2022-1-15 10:52
直接在终端模拟器中运行,再退出后发出完整的错误代码可能更容易看出原因。
你发的这个错误代码找不到相关资料
 楼主| shlboliqiao 发表于 2022-2-11 17:43
找到问题了,进程数调小点,太多了会把python进程结束
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:48

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表