为Unreal添加一个定时运行的功能模块-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

为Unreal添加一个定时运行的功能模块

简介:
  在unreal中,有时需要根据自已的需要添加自已的定时运行的功能程序,如果你想实现这样的功能,请按照下列步骤进行,以我添加的定时检查Mysql连接情况(因为Mysql系统默认48还是多少小时后断开一个不活动的连接,如果在这个时间内,收到连接的mysql_ping消息,则该连接不会断掉):

      1,在include\h.h文件最末,添加如下定义:
extern EVENT(check_mysql_conn);

      2,在src\events.c 212行附件,修改为如下代码:
    /* Start events */
    
//add by oldhawk
    EventAddEx(NULL, "check_mysql_conn"6000, check_mysql_conn, NULL); //这里的600表是3分钟执行一次
    
//add end
    EventAddEx(NULL, "tunefile"3000, save_tunefile, NULL);
    EventAddEx(NULL, 
"garbage", GARBAGE_COLLECT_EVERY, 0, garbage_collect, NULL);

      3,继续,在src\events.c最后,添加如下代码:
//add by oldhawk
EVENT(check_mysql_conn)
{
    
if(strcmp(MYSQL_HOST,"0")){
        
//ircd_log(LOG_SERVER,"in event check_mysql_conn");
        if(!my_conn){    //数据库未连接,可能是首次起动
            ircd_log(LOG_CLIENT,"Begin to connect to Mysql");

            my_conn
=my_mysql_connect();
            
if(!my_conn){
                sendto_ops(
"Mysql 数据库服务器出现故障,请通知管理员排除!");
                ircd_log(LOG_SERVER,
"Mysql Connect : ERROR!");
                
return;
            }
else{
                mysql_query(my_conn,
"SET NAMES 'gb2312'"); 
                ircd_log(LOG_SERVER,
"Mysql Connect : OK!");
            }
        }
else{            //数据库已连接,则测试激活
            if(my_mysql_ping(my_conn)!=0){
                ircd_log(LOG_SERVER,
"Mysql Ping : mysql ping error");
                my_conn
=my_mysql_connect();
                
if(!my_conn){
                    sendto_ops(
"Mysql 数据库服务器出现Ping故障,请通知管理员排除!");
                    ircd_log(LOG_SERVER,
"Mysql Ping reConnect : ERROR!");
                    
return;
                }
else{
                    mysql_query(my_conn,
"SET NAMES 'gb2312'"); 
                    ircd_log(LOG_SERVER,
"Mysql Ping reConnect : OK!");
                }
            }
else{
                ircd_log(LOG_SERVER,
"Mysql Ping: OK!");
            }
        }
    }
}
//add end


    本文转自 OldHawk  博客园博客,原文链接:http://www.cnblogs.com/taobataoma/archive/2007/07/28/834868.html,如需转载请自行联系原作者


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章