event -- 8




200x200


引言我们已经介绍了 python 的几种线程同步工具Python 线程同步(一) -- 竞争条件与线程锁python 线程同步(二) -- 条件对象python 线程同步(三) -

#thread    #线程同步    #事件    #并发   
概述logstash 之所以强大和流行,与其丰富的过滤器插件是分不开的过滤器提供的并不单单是过滤的功能,还可以对进入过滤器的原始数据进行复杂的逻辑处理,甚至添加独特的新事件到后续流程中 强大的文本解析工具 -- Grokgrok 是一个十分强大的 logstash filter 插件,他可以解析任何格式的文本,他是目前 logstash 中解析非结构化日志数据最好的方式 基本用法Grok 的语法规则是:%{语法 : 语义}  “语法”指的就是匹配的模式,例如使用 NUMBER 模式可以匹配出数字,IP 则会匹配出 127.0.0.1 这样的 IP 地址:%{NUMBER:lasttime}%{IP:client} 默认情况下,所有“语义”都被保存成字符串,你也可以添加转换到的数据类型%{NUMBER:lasttime:int}%{IP:client} 目前转换类型只支持 int 和 float 覆盖 -- overwrite使用 Grok 的 overwrite&nb
#技术帖    #龙潭书斋    #merge    #event   

200x200


nginx 模块结构图  nginx 模块数组在 nginx.c 中,首次使用下面的循环为所有的模块编号:for (i = 0; ngx_m

#技术帖    #龙潭书斋    #nginx    #源码   
概述在 nginx 初始化流程的介绍中,我们已经看到 nginx module 是怎么初始化和加载的,nginx module 提供了抽象的接口,由各个实际的模块实现者去实现相应的接口,当然,事件模块也是如此 EPOLL 模块 module 定义// struct ngx_event_module_t // 事件模块结构体 {{{ typedef struct { // 模块名称 ngx_str_t *name; // 解析配置前,用于创建存储配置项参数结构体的回调函数 void *(*create_conf)(ngx_cycle_t *cycle); // 解析配置完成后,用于综合处理某些配置项 char *(*init_conf)(ngx_cycle_t *cycle, void *conf); // 对于事件驱动机制,每个事件需要实现的 10 个抽象方法 ngx_event_actions_t actions; } ngx_event_module_t; // }}}  在事件模块结构体的最后定义了 
#技术帖    #龙潭书斋    #io    #epoll   

200x200


问题原因安装了 libevent,程序运行时出现了错误提示:error while loading shared libraries: libevent-2.0.so.5  问题很

#技术帖    #linux    #c语言    #文件   

200x200


nginx 连接池事件模块初始化 过程中创建了连接池以及 read_events 和 write_events 数组,那么 nginx 连接池究竟是一个什么样的结构呢?  &nbs

#技术帖    #socket    #龙潭书斋    #nginx   

200x200


nginx 事件处理框架事件处理框架解决的问题是事件的收集、管理和分发nginx 事件处理模块主要处理的是网络事件和定时器事件 多平台兼容不同的操作系统中,nginx&n

#读书笔记    #技术帖    #epoll    #nginx   
概述阅读 nginx 源码接触到了一个新的系统调用 -- eventfdeventfd 系统调用是 linux 2.6 以上版本用来在用户空间创建可以用来作为事件等待、通知的文件描述符简单地说,就是可以在用户态应用中建立一个内核态到用户态的通知机制,这在异步 IO 的使用中非常有用但是该调用必须工作在 64 位环境下 函数原型int eventfd(unsigned int intval, int flag); 定义于 sys/eventfd.h 中调用成功返回文件描述符,调用失败,返回 -1 参数 flag 说明通过按位或运算可以使用以下一个或多个标识:eventfd 系统调用 flag 参数取值取值说明EFD_CLOEXEC类似于 open 系统调用的 O_CLOEXEC 标识,一旦 exec 执行后,关闭所有 fdEFD_NONBLOCK非阻塞调用EFD_SEMAPHORE以信号方式处理文件描述符,linux 2.6.26 以上版本将不支持 用法关于该系统调用的实际用法,可以参看 nginx 中的相应代码 var CODE_DIVS=[{"
#技术帖    #linux    #unix    #文件描述符   



京ICP备15018585号