python程序 如何 结束自身 延时1分钟 然后重启自身

2014-01-08 14:18:26 +08:00
 fdsfsdfsdf3334
我的程序是个采集程序

有时候 可能数据库出现问题 比如连接不上

我使用了 try 语句

在出错的时候,我想让他 延时1分钟, [也就是等待一分钟,]

然后重启自身 [重新启动 重新连接]
11291 次点击
所在节点    问与答
28 条回复
mongodb
2014-01-09 00:57:01 +08:00
@suriv520 2B运维青年前来报道 =。=
这种2B的土办法虽然不入流,但是——
在没人手赶时间的生产环境里,往往是极好用且最能快速解决问题的方法。

解决掉问题了,再切换到普通青年模式——或者开发部的文艺青年比如 @aveline 终于上班了,就让他来文艺的处理掉……

尤其是在分秒必争的环境里,2B青年的解决方法其实往往是最快能恢复业务的唯一办法。。。
stevenyou
2014-01-09 09:25:17 +08:00
arcas
2014-01-09 10:13:51 +08:00
一个master 多个 worker?
suriv520
2014-01-09 10:49:23 +08:00
@mongodb 角度不一样,结论不一样。
从运维的角度来讲,你的观点完全正确,并且也是主流的。
从商业角度讲,你的观点也完全正确。
但如果你们公司的开发把这样的产品交付给你们,还认为重启是理所当然的,那你大可让他们按照上述分类对号入座。
lixm
2014-01-09 15:07:32 +08:00
@suriv520 重启是理所当然的,一旦出现问题,尽快退出,交由supervisor善后重启,这样的思路很对啊,erlang就是这么干的
suriv520
2014-01-09 15:32:41 +08:00
@lixm 『重启』本质上是最粗暴的『异常处理』,怎能说『理所当然』?如果Nginx三天两头崩一次,如果MySQL三天两头崩一次,你敢用?
suriv520
2014-01-09 15:41:16 +08:00
@lixm 另外,Erlang怎么干,是取决于人,而不是程序语言本身。即使退一步来讲,按照正常的erlang并发理念,它崩,也是崩的单条轻量协程。并且即使是崩了,也还会进行一系列的善后,类似事务回滚。这整个过程的Behavior是设计好了的。用一句比较装的话说即『发生异常也是程序功能之一』。
这个问题说白了,就是异常处理的粒度问题。
但所谓『快速简单粗暴』的重启理念,在coding的时候过于依赖,真不利于水平的进步。如论如何,我是不敢苟同的。
suriv520
2014-01-09 15:43:28 +08:00
@lixm 当然,如果你和 @mongodb 一样,是做运维这一块的。那你有这样的思路才是正确的:因为你不是开发,没办法让它不崩……但崩了不重启,领导就找麻烦了……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/96153

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX