工作日志2018.11.01

本文探讨了日志处理脚本的修改与优化,包括日志文件的远程复制、配置文件的更新、日志解析中insert_time字段的问题及解决方案。同时,深入研究了定时任务的实现,探讨了定时器运行机制及多线程处理方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 修改读取log的脚本
scp ~/log/player*.log root@192.168.1.233:~/game3s/logs
scp ~/log/player*.log root@192.168.1.233:/data/www/game3s/logs/
cat conf/fairy_tail/log_server.ini
sed -ie 's/228/231/g' conf/fairy_tail/log_server.ini
cat log_server/log_server.py
python log_server/log_server.py clean
python log_server/log_server.py
  • 讨厌的insert_time问题,补写的日志应该修正这个值
def fixInsertTime(o):
    b = None;

    if o.his_key('time'):
        b = o;

    if o.has_key('base_data'):
        b = o['base_data']

    if o.has_key('pub'):
        b = o['pub']

    if o.has_key('basedata'):
        b = o['basedata']
        
    if o.has_key('data'):
        b = o['data']

    if b:
        o['insert_time'] = b['time']
  • 定时器如何运行:每5分钟运行一次
    问题1 : 如果上次main函数没有执行完,而又到了这次main的调用会发生什么
    A : 等待main函数执行完?
    B : 不等待main函数执行网,多一个线程(或进程)运行main?
import schedule
import time
import os
from log_server import *

def job():
    main()
    print(".")

if __name__ == '__main__':

    schedule.every(300).seconds.do(job)

    while True:
        schedule.run_pending()
        time.sleep(1)

  • 解决实时性不够;必须支持到行才可以, 文件的行数还是可变得
Created with Raphaël 2.2.0开始文件正在被写?记录读取到的行数结束标记文件已经读取完毕yesno
  • http接口的地址:

研究的点:

  • 微服
  • 协程
  • 分布式计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值