微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将 ansible 配置为在流式 API 上不超时

如何解决如何将 ansible 配置为在流式 API 上不超时

我有一个 ansible 任务,它调用 api (nodejs) 来准备数据库。根据环境的不同,此任务可能需要几秒钟到几分钟的时间。

- name: "Create tables"
  uri:
    url: "http://myapi/tables/{{item}}/initialize"
    method: "POST"
    user: "{{admin.userName}}"
    password: "{{admin.password}}"
    headers:
      Content-Type: "application/json"
    force_basic_auth: yes
    status_code: 201
    validate_certs: no
    timeout: 60
  with_items: "{{entities}}"
  retries: 10
  delay: 2
  register: result
  until: ('status' in result) and (result.status == 201)
  changed_when: false

任务当前配置的超时时间为 60,最多重试 10 次。

API 立即返回 HTTP 201 状态,然后随着数据库准备工作的进展开始流式传输 json。有没有办法将 ansible 配置为仅在自上次流数据返回以来已超过 60 秒时才超时,而不是在任务需要 60 秒以上才能完成时超时?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。