首页 > 数据库技术 > 详细

tsdb import 相关

时间:2015-08-26 01:44:30      阅读:283      评论:0      收藏:0      [点我收藏+]

今天一直在做opentsdb 大量导入数据的工作。 中间遇到了一些值得记录的问题, 这里随手记一下 明天好好整理

1. 多进程logger

python的logging模块不支持多进程,但我们可以用syslog模块 把进程写给linux/unix的syslog服务。

syslog 有local 0 - 7 8个通道。 把一个通道配置到你的日志文件 然后写入即可

 

2. 多进程

apply_async 这个函数有点奇怪。下面的代码df如果是string就可以。如果不是string, 那么子进程好像不会运行。。

#!/usr/bin/python
__author__ = mingwli
import syslog
import multiprocessing
from multiprocessing import Pool
import pydevd

syslog.openlog(file: %s % "My file", 0, syslog.LOG_LOCAL0)

def write_log(f):
        syslog.syslog(Log msg: %s % test msg)

pool = Pool(processes=20)
result = []
mylist = range(0, 20)
for df in mylist:
    result.append(pool.apply_async(write_log, (str(df))))

pool.close()
pool.join()
print "all done"

 

tsdb import 相关

原文:http://www.cnblogs.com/kramer/p/4759080.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!