auto commit

This commit is contained in:
CyC2018 2018-06-21 16:03:43 +08:00
parent d01899ea87
commit e1e455724e
2 changed files with 1 additions and 11 deletions

View File

@ -498,26 +498,19 @@ Redis 将所有时间事件都放在一个无序链表中,通过遍历整个
```python ```python
def aeProcessEvents(): def aeProcessEvents():
# 获取到达时间离当前时间最接近的时间事件 # 获取到达时间离当前时间最接近的时间事件
time_event = aeSearchNearestTimer() time_event = aeSearchNearestTimer()
# 计算最接近的时间事件距离到达还有多少毫秒 # 计算最接近的时间事件距离到达还有多少毫秒
remaind_ms = time_event.when - unix_ts_now() remaind_ms = time_event.when - unix_ts_now()
# 如果事件已到达,那么 remaind_ms 的值可能为负数,将它设为 0 # 如果事件已到达,那么 remaind_ms 的值可能为负数,将它设为 0
if remaind_ms < 0: if remaind_ms < 0:
remaind_ms = 0 remaind_ms = 0
# 根据 remaind_ms 的值,创建 timeval # 根据 remaind_ms 的值,创建 timeval
timeval = create_timeval_with_ms(remaind_ms) timeval = create_timeval_with_ms(remaind_ms)
# 阻塞并等待文件事件产生,最大阻塞时间由传入的 timeval 决定 # 阻塞并等待文件事件产生,最大阻塞时间由传入的 timeval 决定
aeApiPoll(timeval) aeApiPoll(timeval)
# 处理所有已产生的文件事件 # 处理所有已产生的文件事件
procesFileEvents() procesFileEvents()
# 处理所有已到达的时间事件 # 处理所有已到达的时间事件
processTimeEvents() processTimeEvents()
``` ```
@ -526,21 +519,18 @@ def aeProcessEvents():
```python ```python
def main(): def main():
# 初始化服务器 # 初始化服务器
init_server() init_server()
# 一直处理事件,直到服务器关闭为止 # 一直处理事件,直到服务器关闭为止
while server_is_not_shutdown(): while server_is_not_shutdown():
aeProcessEvents() aeProcessEvents()
# 服务器关闭,执行清理操作 # 服务器关闭,执行清理操作
clean_server() clean_server()
``` ```
从事件处理的角度来看,服务器运行流程如下: 从事件处理的角度来看,服务器运行流程如下:
<div align="center"> <img src="../pics//dda1608d-26e0-4f10-8327-a459969b150a.png" width=""/> </div><br> <div align="center"> <img src="../pics//c0a9fa91-da2e-4892-8c9f-80206a6f7047.png" width="400"/> </div><br>
# 十二、复制 # 十二、复制

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB