Python 进程池内容没有被执行,求大佬给看一眼啊

荒-于嬉 2020-10-06 02:58:42
我写了一个用于列出HBASE所有表,然后获取表明批量提交给进程池然后执行删除操作的,不知为什么进程池的函数没有被执行,求大佬看一眼

```
import happybase
import time
from multiprocessing import Pool
import tkinter

class hbase_drop_table():
def tkinter_table(self):
window = tkinter.Tk()
window.title("删除HBASE表")
window.geometry("600x400")
self.test_read = tkinter.Text(window,width=20,height=1)
self.test_read.place(x=10,y=10)
button_ok = tkinter.Button(window,text="确认",command=self.drop_table)
button_ok.place(x=10,y=40)
window.mainloop()
def pool_drop_table(self,table_name): # 这段没有执行,里面的print什么都没输出
print("drop-table name:" + table_name)
self.conn.delete_table(table_name, disable=True)
def drop_table(self):
hbase_ip = self.test_read.get(0.0, tkinter.END).replace("\n", "")
self.conn = happybase.Connection(hbase_ip, port=9090)
table_name_list = self.conn.tables()
pool = Pool(10)
for i in table_name_list:
print(i)
pool.apply_async(self.pool_drop_table,args=(i.decode('utf-8'),))
pool.close()
pool.join()
print("结束")

if __name__ == '__main__':
hdt = hbase_drop_table()
hdt.tkinter_table()
```

运行结果:
b'BEHAVIOR_HISTORY'
b'BEHAVIOR_MATCHED'
b'CUSTOM_LIST_HISTORY'
b'CUSTOM_LIST_HISTORY_EN'
b'CUSTOM_LIST_MATCHED'
b'CUSTOM_LIST_MATCHED_EN'
b'CUSTOM_LIST_NOMATCHED'
b'DATA_CONTACT'
b'DATA_MAPPING'
b'STATISTIC_ENCRYPTION_STR'
b'behavior_probe'
b'data_expire_so_default_tenant_contact'
b'data_track_so_default_tenant_contact'
b'pagePv_probe'
结束
libpng warning: iCCP: cHRM chunk does not match sRGB
libpng warning: iCCP: cHRM chunk does not match sRGB

Process finished with exit code 0

...全文
270 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
荒-于嬉 2020-10-20
大佬方便加个QQ或微信什么的吗,这里太不方便了
  • 打赏
  • 举报
回复
荒-于嬉 2020-10-20
{0}是不是要加引号,然后最后少个括号?
  • 打赏
  • 举报
回复
荒-于嬉 2020-10-20
加下QQ好吧大佬 528909316
  • 打赏
  • 举报
回复
Swing0_0 2020-10-20
私聊私聊,一起学习
  • 打赏
  • 举报
回复
Swing0_0 2020-10-19
pool.apply_async(self.pool_drop_table,({0}.format(i.decode('utf-8'))) 这样试试
  • 打赏
  • 举报
回复
荒-于嬉 2020-10-19
万分感谢,已经试过了,还是不行
  • 打赏
  • 举报
回复
Swing0_0 2020-10-18
同样遇到了这个问题,貌似出现在 pool.apply_async(self.pool_drop_table,args=(i.decode('utf-8'),)) 不知道为什么args传的值一直传不进去 最后我使用args=({0}.format(i.decode('utf-8'))传进去的 至于为啥传不进去……我也没搞懂
  • 打赏
  • 举报
回复
相关推荐
发帖
脚本语言
加入

3.7w+

社区成员

JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • ITBOB • 鲍勃
申请成为版主
帖子事件
创建了帖子
2020-10-06 02:58
社区公告

CSDN 脚本语言社区接受专栏投稿(专栏会在顶部创建专属你的栏目),投稿需满足以下要求:

  • 脚本语言技术相关;
  • 文章持续更新,保持活跃;
  • 内容清晰明了,干货为主;
  • 文章排版有序,有条有理。

本社区开通招聘专栏,发布招聘信息请联系版主,发布者需要保证招聘信息真实有效,CSDN 平台和版主不对招聘内容负责!

联系方式:私聊版主、发送邮件、QQ联系等均可: