当前位置: 首页 > news >正文

织梦生成手机网站有啥方法下载wordpress主题

织梦生成手机网站,有啥方法下载wordpress主题,高端大气企业网站源码,中国做爰网站描述# 幂等性是在实际应用中经常需要考虑的概念#xff0c;尤其是运维中。相较于将幂等性理解为各种异常情况的综合处理#xff0c;将其理解为执行时需要考虑到在前次执行产生的影响的情况下能够正常执行则会更加容易接近业务需求。   ansible包含众多的模块#xff0c;大…描述# 幂等性是在实际应用中经常需要考虑的概念尤其是运维中。相较于将幂等性理解为各种异常情况的综合处理将其理解为执行时需要考虑到在前次执行产生的影响的情况下能够正常执行则会更加容易接近业务需求。   ansible包含众多的模块大部分内置模块都能够保证操作的幂等性即相关操作的多次执行能够达到相同结果这一特性不会出现多次执行带来副作用的影响。但是也有不满足幂等原则的比如shell模块、raw模块、command模块。 幂等操作和非幂等操作的对比 场景说明 比如实现删除一个临时性的文件/root/testfile的操作如果希望其在相同的条件下多次执行能够保持相同的结果和不会带来其它副作用至少需要保证此操作在/root/testfile文件存在和不存在的情况下都能正常动作。 # 当采用raw模块执行shell命令删除文件第一次删除是成功当执行第二次删除也是成功的但是在生产环境这结果是不理想的比如重启一个服务你会随便重启服务吗 [rootServer-1~]# touch /root/testfile [rootServer-1~]# ansible localhost -m shell -a rm -rf testfile localhost | CHANGED | rc0 [rootServer-1~]# ansible localhost -m shell -a rm -rf testfile localhost | CHANGED | rc0 # 当采用file 模块执行删除文件第一次执行删除文件成功changed: true多次执行删除文件都是同一样的结果不会带来副作用的影响changed: Fasle。 [rootServer-1~]# touch /root/testfile [rootServer-1~]# ansible localhost -m file -a path/root/testfile stateabsent localhost | CHANGED {changed: true, path: /root/testfile, state: absent } [rootServer-1~]# ansible localhost -m file -a path/root/testfile stateabsent localhost | SUCCESS {changed: false, path: /root/testfile, state: absent }那file模块是如何实现幂等的呢如下是file模块执行absent文件时的代码(有中文注释) vim /usr/lib/python2.7/site-packages/ansible/modules/files/file.py ..... def get_state(path): Find out current state b_path to_bytes(path, errorssurrogate_or_strict)try:if os.path.lexists(b_path): # 如果文件存在返回file文件不存在返回absentif os.path.islink(b_path):return linkelif os.path.isdir(b_path):return directoryelif os.stat(b_path).st_nlink 1:return hard# could be many other things, but defaulting to filereturn file return absentexcept OSError as e:if e.errno errno.ENOENT: # It may already have been removedreturn absentelse:raisedef ensure_absent(path):b_path to_bytes(path, errorssurrogate_or_strict)prev_state get_state(b_path) # 获取文件的状态result {}if prev_state ! absent: # 当prev_statedirectory or file 为真diff initial_diff(path, absent, prev_state)if not module.check_mode:if prev_state directory: # 如果prev_statedirectory, 则删除目录try:shutil.rmtree(b_path, ignore_errorsFalse)except Exception as e:raise AnsibleModuleError(results{msg: rmtree failed: %s % to_native(e)})else:try:os.unlink(b_path) # 如果prev_statefile, 则删除文件except OSError as e:if e.errno ! errno.ENOENT: # It may already have been removedraise AnsibleModuleError(results{msg: unlinking failed: %s % to_native(e),path: path})result.update({path: path, changed: True, diff: diff, state: absent}) # 删除文件成功动作有改变changedTrueelse:result.update({path: path, changed: False, state: absent}) # 如果prev_stateabsent, 动作没有改变changedFalse, 实现多次操作执行不会有任何改变。return resultdef main():global modulemodule AnsibleModule(argument_specdict(statedict(typestr, choices[absent, directory, file, hard, link, touch]),pathdict(typepath, requiredTrue, aliases[dest, name]),_original_basenamedict(typestr), # Internal use only, for recursive opsrecursedict(typebool, defaultFalse),forcedict(typebool, defaultFalse), # Note: Should not be in file_common_args in futurefollowdict(typebool, defaultTrue), # Note: Different default than file_common_args_diff_peekdict(typebool), # Internal use only, for internal checks in the action pluginssrcdict(typepath), # Note: Should not be in file_common_args in futuremodification_timedict(typestr),modification_time_formatdict(typestr, default%Y%m%d%H%M.%S),access_timedict(typestr),access_time_formatdict(typestr, default%Y%m%d%H%M.%S),),add_file_common_argsTrue,supports_check_modeTrue,)# When we rewrite basic.py, we will do something similar to this on instantiating an AnsibleModulesys.excepthook _ansible_excepthookadditional_parameter_handling(module.params)params module.paramsstate params[state]recurse params[recurse]force params[force]follow params[follow]path params[path]src params[src]timestamps {}timestamps[modification_time] keep_backward_compatibility_on_timestamps(params[modification_time], state)timestamps[modification_time_format] params[modification_time_format]timestamps[access_time] keep_backward_compatibility_on_timestamps(params[access_time], state)timestamps[access_time_format] params[access_time_format]# short-circuit for diff_peekif params[_diff_peek] is not None:appears_binary execute_diff_peek(to_bytes(path, errorssurrogate_or_strict))module.exit_json(pathpath, changedFalse, appears_binaryappears_binary)if state file:result ensure_file_attributes(path, follow, timestamps)elif state directory:result ensure_directory(path, follow, recurse, timestamps)elif state link:result ensure_symlink(path, src, follow, force, timestamps)elif state hard:result ensure_hardlink(path, src, follow, force, timestamps)elif state touch:result execute_touch(path, follow, timestamps)elif state absent: result ensure_absent(path) # 执行删除文件时调用方法 def ensure_absentmodule.exit_json(**result)if __name__ __main__:main()
http://www.pierceye.com/news/644036/

相关文章:

  • 手机网站专题网站建设私活
  • 自建网站 备案视频号广告推广
  • 青岛网站优化东莞市场监督管理局官网
  • 深圳珠宝网站设计临沂seo优化
  • 东莞网站建项目代理
  • 心理咨询网站开发营销型网站的建设要求都有什么
  • 优化网站要怎么做中国外协机械加工订单网
  • 运动健身型网站开发永久网站空间
  • 好的网站建设公司排名小程序怎么引流推广
  • 建设部网站 光纤到户平顶山 网站建设公司
  • 网站建设费计入哪个科目赛罕区城乡建设局网站
  • 计算机协会网站模板如何做微信下单小程序
  • 购物网站开发流程图大连装修公司
  • 网站开发定制推广杭州手表网站域名
  • 惠州网站建设方案推广企业网站必备模块
  • 网站内页产品做跳转做电商有哪些平台
  • 如何自建网站服务器wordpress下载权限
  • 重庆专业网站设计服务做染料的网站
  • 长春模板建站公司浙江住房和建设厅网站
  • 网站建设公司 佛山南京移动网站建设
  • 网站建设目录规范微信h5网站开发
  • 做ppt卖给网站枣庄做网站优化
  • 新乡营销型网站建设做软件的中介网站
  • 延边州建设局网站软件公司主要做哪些
  • 建设网站带后台管理程序制作软件
  • 榆林市住房和城市建设局网站梁志天设计公司项目
  • 建设网站怎么搞做非法网站判刑多少年
  • 做查询网站 发布数据wordpress nextapp
  • 福鼎建设局网站首页上海社区网站建设
  • 企业网站免费推广方案wordpress文章类模板