收藏
回答

云开发有提供后台长时间运行的机制吗?

云函数目前最大执行时间为20秒,如果有些逻辑或者数据库操作比较耗时,想让它在后台默默运行,前台可以不需要立即得到响应,有什么机制可以用?

回答关注问题邀请回答
收藏

6 个回答

  • 无亦情
    无亦情
    2019-12-31

    可以考虑使用消息队列之类的服务

    2019-12-31
    赞同
    回复
  • 罗梅光
    罗梅光
    2019-12-31

    后台静默运行->定时触发器。

    比如待支付订单超时系统自动取消。

    2019-12-31
    赞同
    回复 9
    • 郑旭东
      郑旭东
      2019-12-31
      谢谢回复,这个不会有超时限制吗?适合你提到的这种场景,也适合跑报表,不过这个机制根据用户行为进行响应是不够及时的,因为它根据时间点来响应。
      2019-12-31
      回复
    • 罗梅光
      罗梅光
      2019-12-31回复郑旭东
      1.会不会有超时限制?他依然还是云函数,超时时间按正常云函数计算。
      2.根据用户行为进行响应是不够及时的;确实不及时。


      不过都可以增加触发频率解决,比如5分钟或2分钟触发一次,
      2019-12-31
      回复
    • 罗梅光
      罗梅光
      2019-12-31回复郑旭东
      如果需要根据用户行为响应,那就1一分钟执行一次
      2019-12-31
      回复
    • 郑旭东
      郑旭东
      2019-12-31
      主要问题就是超时问题,其他交互问题都有办法处理。
      2019-12-31
      回复
    • 罗梅光
      罗梅光
      01-02回复郑旭东
      什么操作要多久?
      01-02
      回复
    查看更多(4)
  • ZiraLi
    ZiraLi
    2019-12-31

    云函数超时时间已经调整到60秒,可以在最新的Nightly开发版微信开发者工具中体验!


    2019-12-31
    赞同
    回复 3
    • 郑旭东
      郑旭东
      2019-12-31
      那太好了,谢谢,不过好像治标不治本呀...
      2019-12-31
      回复
    • Booker Zhao(赵兵)
      Booker Zhao(赵兵)
      2019-12-31回复郑旭东
      请问你的核心诉求是什么~
      2019-12-31
      回复
    • 郑旭东
      郑旭东
      01-01回复Booker Zhao(赵兵)
      1、不能保证所有任务都能在60秒执行完毕,所以为啥要限制时间,可以让开发者自行设置云函数执行时间不行吗?2、如何让云函数触发后在后台静默执行,小程序不用傻等着执行结束。
      01-01
      回复
  • Booker Zhao(赵兵)
    Booker Zhao(赵兵)
    2019-12-31
    云函数超时时间已经调整到60秒,可以在最新的Nightly 开发版微信开发者工具中体验
    2019-12-31
    赞同
    回复 1
    • 郑旭东
      郑旭东
      2019-12-31
      ok
      2019-12-31
      回复
  • 拾忆
    拾忆
    2019-12-30

    用自己的服务器,websocket

    2019-12-30
    赞同
    回复 6
    • 郑旭东
      郑旭东
      2019-12-30
      谢谢,不现实啦,在用云数据库,比较依赖云开发
      2019-12-30
      回复
    • 拾忆
      拾忆
      2019-12-30回复郑旭东
      了解下云开发的http api https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-http-api/
      2019-12-30
      回复
    • 郑旭东
      郑旭东
      2019-12-30
      是个思路,就是绕出去成本有点高了,本来想用云开发就是一种低成本解决方案。
      2019-12-30
      回复
    • 拾忆
      拾忆
      2019-12-31回复郑旭东

      自己买服务器不见得就比云开发贵

      2019-12-31
      回复
    • 郑旭东
      郑旭东
      2019-12-31回复拾忆
      我说的是开发成本呀,服务器没几个钱哈哈
      2019-12-31
      回复
    查看更多(1)
  • Hanks🇨🇳
    Hanks🇨🇳
    2019-12-30

    不知道你什么业务场景需要这样去做

    还是建议你修改优化云函数的执行逻辑,和数据库的表结构。

    2019-12-30
    赞同
    回复 8
    • 郑旭东
      郑旭东
      2019-12-30
      比如目前有个业务,一家店需要复制上一家店的商品库,批量add操作云数据库又不支持,只能循环添加,很有可能超时。另外有时候版本更新要做历史数据订正,也会超时。未来想在夜间做报表,那个倒是好像有个什么定时程序可以用,还没研究过是否合适。
      2019-12-30
      回复
    • Hanks🇨🇳
      Hanks🇨🇳
      2019-12-30回复郑旭东
      没用过云函数,不知道能不能有线程的操作
      比如我有服务器,我可以发一个请求告诉后台,后台收到请求后,启动一个线程,去执行我指定的操作,并返回给前端,我正在操作中。然后前端每隔5s去查询一下后台是否处理完毕。


      或者,websocket,后台及时返回给前台处理结果
      2019-12-30
      回复
    • Hanks🇨🇳
      Hanks🇨🇳
      2019-12-30回复Hanks🇨🇳
      或者,你用云函数,单独这一个请求,你不用去管它是否超时,或者有没有返回,调用完毕后,你再调用一个接口,每秒或者每几秒,查询一下执行的结果, 只是后台加个state参数就可以
      2019-12-30
      回复
    • 郑旭东
      郑旭东
      2019-12-30
      嗯,目前云函数有最大20秒执行的限制,超过20秒终止执行。前台逻辑像你说的,都有各种办法处理的。
      2019-12-30
      回复
    • Booker Zhao(赵兵)
      Booker Zhao(赵兵)
      2019-12-31回复郑旭东
      云函数超时时间已经调整到60秒,可以在最新的Nightly 开发版微信开发者工具中体验
      2019-12-31
      回复
    查看更多(3)
登录 后发表内容
问题标签