oslo_service loopingcall的使用
2016-07-27 10:02
1346 查看
loopingcall用于专门检测某个task是否完成了,比sleep优雅多了
具体使用看源码:https://github.com/openstack/oslo.service/blob/master/oslo_service/loopingcall.py
from oslo_service import loopingcall def wait_del_backup(): start_time = int(time.time()) timeout = 120 del_backup = cinder_client.backups.list( search_opts={'id': backup_id}) if len(del_backup) == 0: logging.info("Delete backup %s complete" % backup_id) raise loopingcall.LoopingCallDone() if del_backup[0].status in ['error', 'error_deleting']: raise Exception("Delete backup %s failed, " "the status of backup is %s." % (backup_id, del_backup[0].status)) if (del_backup[0].status == 'deleting') and (int(time.time()) -\ start_time > timeout): logging.error("Delete backup %s failed, In a state of " "deleting over 120s") raise timer = loopingcall.FixedIntervalLoopingCall(wait_del_backup) timer.start(interval=0.5).wait()
具体使用看源码:https://github.com/openstack/oslo.service/blob/master/oslo_service/loopingcall.py
相关文章推荐
- Android IPC进程间通讯机制
- android之定时器AlarmManager
- axis备忘
- Windows XP Service Pack 3 RC1 v.3244 winxp补丁3 提供下载
- Run As Service runassrv.exe 详细参数第1/2页
- 安装MySQL在最后的start service停住了解决方法
- Android IPC机制绑定Service实现本地通信
- android使用Messenger绑定Service的多种实现方法
- asp.net Web Service 接口大量数据传输解决方案
- Silverlight中动态获取Web Service地址
- android调用web service(cxf)实例应用详解
- 在Android中 获取正在运行的Service 实例
- ASP.NET State service状态服务的问题解决方法
- 卸载ZkeysPHP 后iis网站出现Service Unavailable 解决办法
- IIS Admin Service 服务因 2149647636 (0x80210514) 服务性错误而停止
- Service Temporarily Unavailable的503错误是怎么回事?
- 深入剖析Android系统中Service和IntentService的区别
- Android中Service服务详解(一)
- android教程之service使用方法示例详解