- 修复replicate 修改没生效的问题, 增加removing状态
- 补充原子性操作的参数,可能存在开始执行原子性操作但是无法马上得到对应的parameter, 新增接口可以补充
/parameter/{name}
- 增加 原子性操作的超时时间设置,
/cannotstop/{name}
, 类似数据库事务操作 结构体如下
type SignalRequest struct {
Timeout int64 `json:"timeout"` // 超时时间, 单位:s
Restart bool `json:"restart"` // 如果超时了是否重启
Notice bool `json:"notice"` // 如果超时了是否报警通知
ContinuityInterval int `json:"continuityInterval"` // 下次报警时间
// 原子操作后,如果设置了此参数,并且设置了restart=true, 那么将在重启后注入到环境变量 PARAMETER 中
Parameter string `json:"parameter"`
}
- 代码优化
- 修复windows下kill脚本失效的问题
- enable 后自动启动
- 修复权限问题
- 日志优化
- 修复锁的问题
- 取消内部token, 改为随机生成脚本token
- 服务创建的脚本如果不指定的token将随机生成
- 修复停止的服务pid不为0的问题
- status默认显示少了failed, cpu, mem, command, 如果不要显示加上 -v
- 修复replicate为0的时候错乱
- 增加脚本权限控制
- 修复查看日志卡住的问题
- 支持代理, 需要设置获取真实ip的请求头
proxyHeader: X-Forwarded-For
- 修复remove的时候,脚本异常
- 修复删除script后,再次添加失败的问题
- 移除update unstable标签
- 修复disable后 start 可以继续启动的问题
- 移除客户端disable列
- disable的脚本不会显示在 status中
- 修复重载always的问题
- 修复重载的时候脚本控制丢失的问题
- 客户端状态显示服务器版本
- command 显示cd优化
- 增加脚本错误但是没报警器的日志
scsctl log <name>
的时候,如果没有生成日志文件就会直接返回- 修复
scsctl status <pname> <name>
- 修复crontab 修改时间无法生效的问题
- 代码做了大量优化, 移除
scsctl remove --all
- 优化日志和log命令
cron
增加times
来指定循环次数
- 里面的字段变量全部用go template 写法, 参考: https://cloud.tencent.com/developer/section/1145004
- 修改字段loopPath 为 preStart
取消loop, 更改为cron, 基本满足所有crontab的要求
代码优化
新增loop 和 disable 选项
loop: 类似定时器, 多少秒执行一次
disable: 是否禁用脚本
移除command $PNAME $NAME $PORT的替换, 并添加到环境变量中, PNAME NAME PORT
新增
scsctl search xxxx
scsctl install xxxx
的基本结构实现
帮助显示错误的问题
修复单执行status成start
客户端增加超时配置, 默认3秒
readTimeout
修复status start pname name无效
修复单节点操作代码异常
-
客户端新增集群方案(新增flag -n -g)
-
客户端配置文件修改, 默认为家目录的scs.yaml 文件,下面为配置实例
所有节点
nodes:
# 节点名关联参数(-n)
me:
url: http://192.168.10.10:11111
token: "al3455555555j0(&^(*jha67"
novel:
url: http://127.0.0.1:11111
token: "o6666666666666664"
# 节点分类组
group:
# 组名关联参数(-g)
aa:
# 下面为关联的节点
- me
- novel
bb:
- novel
- 显示配置文件的所有节点名
scsctl config show