码迷,mamicode.com
首页 > 数据库 > 详细

tsdb import 相关

时间:2015-08-26 01:47:28      阅读:206      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!