V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
szxczyc
V2EX  ›  问与答

Go 发送请求后要等待返回值为 Success 在进行下一步流程该怎么实现?

  •  
  •   szxczyc · 2022-01-25 15:24:35 +08:00 · 1333 次点击
    这是一个创建于 1070 天前的主题,其中的信息可能已经有所发展或是发生改变。

    流程大概是:

    1. 请求第三方 api 跑一个脚本,初始返回值为status:pendingjobid:123
    2. 找接口取 jobid 的返回值,等到返回值为 Success 后进行下一步的存储等操作

    请问等待返回值为 success 这个流程该怎么做呢?

    谢谢大家了~没什么思路。

    第 1 条附言  ·  2022-01-25 18:30:42 +08:00
    谢谢大家的回复了,刚问了同事不支持我这个复杂的脚本调用。所以可能要 emo 了。

    现在可能是要 SSH 到一台跳板机上去执行脚本再拿回数据了
    8 条回复    2022-01-25 18:24:00 +08:00
    JoeBreeze
        1
    JoeBreeze  
       2022-01-25 15:31:00 +08:00
    看不懂... 有没有人翻译一下
    这个接口没有回调的功能吗, 那岂不是得定时去请求反复确认 job 完成了没有
    cxe2v
        2
    cxe2v  
       2022-01-25 15:33:06 +08:00
    这应该是接口那边成功之后回调你这边的一个 api 啊

    不然就拿着你存好的 jobid 做轮询了
    harmless
        3
    harmless  
       2022-01-25 15:34:28 +08:00 via iPhone
    先请求第一个接口拿到 jobid ,然后循环请求第二个接口,把 jobid 传过去,看返回的结果是不是 success ,是的话就退出循环
    helone
        4
    helone  
       2022-01-25 15:49:51 +08:00
    见过类似的需求,就是拿 jobid 不停轮询结果
    lasuar
        5
    lasuar  
       2022-01-25 15:52:16 +08:00
    wx 支付就是这样的,你只能有个定时任务不断的去查结果,能优化的是设置每条记录的下次查询时间(间隔不断延长)
    zliea
        6
    zliea  
       2022-01-25 18:02:46 +08:00
    不应该是第一步将 jobid 写表,程序中写一个定时器(可以采用 xxl-job ,quartz 框架防止多个节点同时轮询)查表然后再去根据 jobid 轮询结果么?
    cnoder
        7
    cnoder  
       2022-01-25 18:08:23 +08:00
    他没回调就只能你循环
    ch2
        8
    ch2  
       2022-01-25 18:24:00 +08:00
    遇事不决 while true 循环
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1596 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 515ms · UTC 16:42 · PVG 00:42 · LAX 08:42 · JFK 11:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.