服务程序监测框架的设计

Wolf0403 2012-02-17 11:05:10
加精
OS:Linux
部署:Amazon EC2

背景:系统中有一些 run away 的服务程序 s,由 cron 启动,跑完结束。s 的任务是处理 /tmp/s 下多个子目录中的文件。s 在启动时会读取 /tmp/s/.concurrent-level 文件确定 fork 的子进程的数目。每个 /tmp/s 下的子目录同一时间只能有一个进程访问,所以每个 s 子进程会在自己工作路径设置锁文件,并且跳过有锁文件的目录。
s 在执行过程中,会写入一个 log 文件,内容类似 apache access log,包括每个进程自己的 PID,记录时间和进度信息。
cron 每分钟执行一次 s。

目标:
做一个守护进程,监测一个或多个文件变化(类似 tail -f),以行为单位进行匹配,按照配置文件指定的状态机激发不同的事件(如:看见 /^Process end/ 时,调用脚本 /tmp/s-ended)

想法:
tail -f 据说使用的是 inotify / dnotify 等技术(http://www.quora.com/How-is-tail-f-implemented )。启子进程 tail -f 每个 log 文件,poll (或其它方式等待变化)

问题:
配置文件(状态机)定义。如何通过简单清晰的方式(JSON)表达相对完整的状态变化。
...全文
1073 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wolf0403 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 36 楼 zhao4zhong1 的回复:]

提醒:企图使用无人值守自动纠正错误可能会将小错误自动变成大错误。
[/Quote]

谢谢指点,不过有头脑的大家都知道这一点了。
赵4老师 2012-02-27
  • 打赏
  • 举报
回复
提醒:企图使用无人值守自动纠正错误可能会将小错误自动变成大错误。
xiangle111 2012-02-24
  • 打赏
  • 举报
回复
听听大家的看法
程序园苑 2012-02-22
  • 打赏
  • 举报
回复
看一看而已
51ios 2012-02-22
  • 打赏
  • 举报
回复
谢谢楼主,强烈支持
陈奇113 2012-02-20
  • 打赏
  • 举报
回复
脚本足已。
feixiang992 2012-02-20
  • 打赏
  • 举报
回复
谢谢分享,学习!!!
赵4老师 2012-02-20
  • 打赏
  • 举报
回复
Learning the bash Shell 3rd Edition.chm
YHL27 2012-02-20
  • 打赏
  • 举报
回复
顶以一个
liuyuainil 2012-02-20
  • 打赏
  • 举报
回复
学习中....
wei85611442 2012-02-20
  • 打赏
  • 举报
回复
收下了....谢谢
zhan7505201 2012-02-19
  • 打赏
  • 举报
回复
学习。
a124579945 2012-02-19
  • 打赏
  • 举报
回复
谢谢楼主,强烈支持
xuzysun 2012-02-19
  • 打赏
  • 举报
回复
kankan.
liutengfeigo 2012-02-19
  • 打赏
  • 举报
回复
看不懂.
路过,混眼熟.
Wolf0403 2012-02-19
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 hao603324 的回复:]

linux下啊,脚本可能就可以实现了。。。。。。。。
[/Quote]
用汇编实现也没人拦你,对不?
hao603324 2012-02-19
  • 打赏
  • 举报
回复
linux下啊,脚本可能就可以实现了。。。。。。。。
cdcjk 2012-02-18
  • 打赏
  • 举报
回复
什么语言啊!
agwhj2000 2012-02-18
  • 打赏
  • 举报
回复
VB开发
Wolf0403 2012-02-18
  • 打赏
  • 举报
回复
MD 又是谁推荐的。。

[Quote=引用 2 楼 sz_haitao 的回复:]

linux下啊,脚本可能就可以实现了。。。。。。。。
[/Quote]
把『脚本』替换成任意一个编程语言的名字都可以说,单我的问题在于状态机描述的设计,不在实现。
加载更多回复(3)

3,882

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧