今天一直在做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 相关的更多相关文章

  1. webpack中 resolve.alias 配置,@import相关踩坑

    1.在使用webpack打包项目时,可以在配置文件中配置resolve.alias来定义一些绝对路径,方便在项目中灵活使用路径,举例如下: resolve: { extensions: [‘.js‘, ...

  2. Django import相关

    from django.shortcuts import render,redirect from django.contrib.auth import authenticate,logout,log ...

  3. Kibana6.x.x源码分析--import相关说明

    /** * 模块的引入规则: * 不带路径的去node_modules中去找: * 带路径的去相应的路径中去找: * 模块可以不加后缀名,node会依次尝试.mjs..js..json..node 这 ...

  4. @Resource无法import相关

    一.查找@Resource在那个jar包里 @Resource注解的类路径是:javax.annotation.Resource,是annotation-api.jar包中的类,是JDK1.6支持的注 ...

  5. Prometheus TSDB存储原理

    Prometheus 包含一个存储在本地磁盘的时间序列数据库,同时也支持与远程存储系统集成,比如grafana cloud 提供的免费云存储API,只需将remote_write接口信息填写在Prom ...

  6. spring开发的总结

    1,当出现无法创建bean,( Error creating bean with name 'fileUploadService': Injection of resource dependencie ...

  7. Python的高级特性4:函数式编程

    函数式编程的核心就是把函数当成对象来进行编程. 有两个常用到的方法:map/reduce,filter,其中map和filter是内建方法,而reduce不是,所以需要import相关模块. map接 ...

  8. Django URLconf

    Django提供了干净优雅的 URL 方案,URL配置文件是一个标准的 python 文件,支持动态配置.它的本质就是URL模式与调用的视图函数之间的映射表,最简单的配置文件如下: from djan ...

  9. Hive_进阶

    回顾: hive 优点 1. 类sql语句靠近关系型数据库,可自定义函数,增加了扩展性,易于开发,减少mapreduce学习成本 2. hive转换sql语句为mapreduce程序以mapreduc ...

随机推荐

  1. git ---查看工作状态和历史提交

    1.git查看状态 -git status 2.版权声明 版权声明:新建一个   LICENSE.txt   文件 开源协议:MIT   //开源许可里面的最宽松的一个协议,别人可以随便用你的代码,但 ...

  2. webpack2代码分割

    代码分割-CSS 要通过webpack打包CSS,像任何其他模块一样将CSS导入JavaScript代码,并使用css-loader(它输出CSS作为JS模块), 并可选地应用ExtractTextW ...

  3. C++学习_继承覆盖重载

    今天通过对实验二继承,重载,覆盖的学习,让我更深一步理解了这些概念的区别. 首先来明确一个概念,函数名即地址,也就是说函数名就是个指针. 编译阶段,编译器为每个函数的代码分配一个地址空间并编译函数代码 ...

  4. Android(java)学习笔记200:JNI之NDK的概念

    1.交叉编译 (1)概念 在一个平台(硬件)和os(软件)环境下,编译出另一种平台和os下可以运行的二进制代码. e.g:     电脑端                               ...

  5. H5 canvas 直线和三角形

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. C# 处理年月日提取时间

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  7. F. Asya And Kittens并查集

    F. Asya And Kittens time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  8. laravel JWTAuth实现api接口鉴权(基础篇)

    官网:https://jwt-auth.readthedocs.io 参考:https://learnku.com/articles/10885/full-use-of-jwt#99529f 1.to ...

  9. js 上传图片、压缩、旋转

    亲测 <!doctype html> <html> <head> <meta charset="utf-8"> <title& ...

  10. eclipse包分层

    方法很简单,如下图所示: 1.点击项目栏窗口的右上角的倒三角 2.选择Pachage Presentation(包呈现) 3.选择Hierarchical(分层)