forked from ollcp/olivehc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
olivehc_control.conf
127 lines (93 loc) · 3.98 KB
/
olivehc_control.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#!/bin/bash
#hanjunfang@baidu.com
####说明
### 1. 如果程序start或stop需要做健康检查,请配置(3)和(4)中的 _start_need_check 或 _stop_need_check变量为1,同时,配置(5)中的
###_check_cmd_arg变量中的端口号部分为模块的监听端口,如果健康检查的方式非默认的检查listen端口方式,请自定义(5)中的_check_cmd_pro变量。
### 2. 如果程序启动时需要传入特殊参数,请配置(3)中的#_start_cmd_arg变量
### 3. 更多个性化需求,请阅读下面各配置项说明
#(0)=============接口返回值定义(无需修改) =============================
NOAH_OK=0
#---执行正常
NOAH_ERR_FAILED_OPERATION=1
#---执行失败
NOAH_ERR_STARTED=2
#---执行start时,程序已经启动
NOAH_ERR_NOT_STARTED=3
#---执行stop restart 时,程序处于未启动状态
NOAH_ERR_TIMEOUT=4
#---执行超时
NOAH_ERR_FILE_NOTFOUND=5
#---文件未找到
NOAH_ERR_ACCESS=6
#---文件执行权限受限
NOAH_ERR_PARAMATER=7
#---接口传入参数错误
NOAH_ERR_NOT_WORKING=8
#---日志未正常滚动
NOAH_ERR_OTHER=9
#---其它错误
#(1)=============路径相关配置(一般情况下无需修改) ==============
#启动程序的supervise实例部署路径
_supervise_path="/home/$USER/supervise"
#or
# _supervise_path="${moudle_dir}" 此时supervise在模块实例下的bin下
#记录程序启动后的pid,程序管道锁等文件的存放目录,默认在supervise的status目录下
_status_path="${_supervise_path}/status"
#supervise的调用路径
_supervise_bin="${_supervise_path}/bin/supervise"
#默认的程序名,默认为xxx_control中的xxx(xxx和模块名一致),如果程序名和模块名不一致,则需要配置此项
program_name=${program_name}
#默认的可执行文件权限检查列表,多个则这样配置 _file_exe_list="./bin/aaa ./bin/bb"
_file_exe_list="./bin/${program_name}"
#默认的文件存在性检查列表,多个则以这样配置 _file_exist_list="./bin/aaa ./conf/bbb ./data/ccc"
_file_exist_list="${_file_exe_list} ./conf/olivehc.conf"
#limit程序的调用路径,服务型程序默认用limit启动
_limit_dir="/bin/limit"
#创建状态记录目录D显趕upervise实例的status目录下
mkdir -p ${_status_path}
#(2)=============启停程序支持的参数注册(一般情况下无需修改)==============
#此变量中注册了默认支持的功能接口,这些功能接口在启动脚本中均有默认函数实现,可以在扩展函数定义部分重写这些接口,会覆盖默认的函数
_basic_support_cmd="start stop restart check reload help"
#此变量中注册了除默认功能接口外的扩展功能接口,一般情况下为空,有特殊扩展需求时,在此注册接口名,并在扩展函数定义部分实现同名接口函数
_ex_support_cmd=""
#(3)===============默认的start接口配置(程序启动时需要传入特殊参数时,需要配置_start_cmd_arg变量)=======
#程序的默认启动命令
_start_cmd_pro="${_supervise_bin} ${_status_path}/${instance_name} nohup ${_limit_dir} ${bin_path}/${program_name}"
#程序启动时的参数配置,例如,启动时需要传入配置文件路径时,可以这样配置 _start_cmd_arg="-f ./conf/appui.conf"
_start_cmd_arg="-c /home/map/olivehc/conf/olivehc.conf"
#启动前后是否需要做健康检查,为1则会做健康检查,健康检查默认方式是检查监听端口是否打开
_start_need_check=1
#健康检查超时次数
_start_check_times=20
#健康检查间隔sleep时间
_start_check_sleep=5
#(4)=============默认的stop接口配置(一般情况下无需修改)======
#stop前后是否需要做健康检查,为1则会做健康检查,健康检查默认方式是检查监听端口是否打开
_stop_need_check=1
#健康检查超时次数
_stop_check_times=100
#健康检查间隔sleep时间
_stop_check_sleep=1
#对于lighttpd,需要配置_k_flag=1,其它模块默认为0
_k_flag=0
#(5)=============默认的check接口配置(可以在这里定义自己的健康检查命令,覆盖默认的端口检查)======
#健康检查的命令部分,check程序放到主程序目录下,默认功能是检查端口是否打开
_check_cmd_pro="${_supervise_path}/bin/check"
#健康检查的命令参数部分,依次为 ip port,其中 port部分需要修改为模块的listen端口
_check_cmd_arg="127.0.0.1 9139"
#(6)=============默认的reload接口配置(可以在这里定义自己的reload检查命令,目前默认的reload命令是 ./bin/appui -r)=====
#reload的命令部分
_reload_cmd_pro="./bin/${program_name}"
#reload的参数部分
_reload_cmd_arg="-r "
#(7)=========扩展接口函数定义部分(在这里定义扩展命令参数支持,函数名需要在(2)中的_ex_support_cmd变量中注册,多个用空格分开===
#fuction xxx
#{
#
#}
#(8)=============重写默认的接口函数,例如此处重写了 xxx_control中的默认功能接口,执行时会以这里的为准==============
#function start
#{
# echo in conf start
# return 0
#}