上云无忧 > 文档中心 > 百度智能云函数计算 CFC 异步调用
函数计算CFC
百度智能云函数计算 CFC 异步调用

文档简介:
CFC目前支持以下两种调用方式: 同步调用:调用请求被函数处理之后会直接返回结果。例如,使用控制台调用、http触发器调用等。 异步调用:调用事件在写入到函数计算内部队列后返回结果,函数计算系统会保证该消息被可靠地处理。目前,除了API调用外,CFC支持的异步调用方式包括:BOS触发器和定时任务触发器两种触发方式。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

概述

CFC目前支持以下两种调用方式:

  • 同步调用:调用请求被函数处理之后会直接返回结果。例如,使用控制台调用、http触发器调用等
  • 异步调用:调用事件在写入到函数计算内部队列后返回结果,函数计算系统会保证该消息被可靠地处理。目前,除了API调用外,CFC支持的异步调用方式包括:BOS触发器和定时任务触发器两种触发方式。

异步执行过程

当函数被异步调用时,CFC会将用户请求先写入内部的消息队列中,并返回异步调用结果,接下来,CFC会从内部消息队列中读取消息,触发函数调用,如果函数执行执行失败次数超限或触发事件等待超时,则会触发目标服务(如函数或topic)。

相关概念

  • 重试次数 函数异步调用最大允许重试的次数。
  • 最长保留时间 单次请求最长被允许在内部消息队列保留的时间。
  • 目标服务 异步调用执行完成后,被调用的相关服务。

使用限制

  • 最大重试次数限制为0-3。
  • 最大超时时间限制为0-24小时。
  • 目标服务为函数时,不能绑定函数本身。
  • 支持函数执行成功或失败时触发目标服务,目标服务有且只有一个。

注意:目标服务为函数时,应避免循环调用,如函数A配置了成功调用时的异步目标为函数B,为函数B配置了成功调用时的异步目标为函数A,当异步调用触发函数A时且执行成功后,则可能出现A-->B-->A...循环调用的情况。

异步调用适用场景

  • 不需要经常查看每个执行结果
  • 任务量多且比较密集
  • 存在服务调用关系

最典型的场景比如:利用Bos触发器接收到日志后需要进行日志批量处理。

异步调用配置

1.进入函数基本信息界面,打开异步策略配置

2.配置重试策略与异步执行目标

目前异步执行目标只支持CFC和kafka消息队列两种服务,当配置为其中的一种服务时

  • CFC 当该次异步调用执行完成后,会根据满足的配置条件对配置的目标函数进行二次调用
  • Kafka 当该次异步调用执行完成后,会将此次调用信息写入用户配置的消息队列中去
相似文档
  • 预留实例支持函数实例按配置预先启动,并且函数计算平台不会主动回收这些实例,会尽可能地保障有相应数量的函数实例可以处理并发请求。 您可以通过预留实例功能,根据函数预计需要占用的资源量,为函数的指定版本设置预留实例。预留实例的执行环境是常驻的,通过配置预留实例,系统会预先进行计算资源的准备,降低冷启动、代码初始化、环境变量准备等耗时。
  • 您在使用CFC函数支持的语言编写CFC函数代码时,需要先了解以下基本概念。 调用CFC函数时,首先会寻找处理程序作为入口,执行用户代码。该处理程序在『函数代码』配置属性页面中『处理程序』属性进行设置,不同语言的函数的处理程序的命名方式稍有不同,您可点击"?"查看详细命名说明。
  • CFC函数内的时间戳为Unix时间戳(Unix timestamp),时间为UTC世界标准时间。如果您需要在函数内打印格式化时间,需要指定时区,例如 "Asia/Shanghai"。以下提供nodejs和python两种语言的示例代码,仅供参考:
  • CFC目前支持的运行环境有Node.js 10, Node.js 12, Python 2.7, Python 3.6, Java 8, Golang, PHP 7.2, Lua 4.3, .Net Core 2.2, PowerShell 6.2。 选择以上的运行环境运行CFC函数,各运行环境使用说明文档详见开发语言,如 Python。 运行环境中已经内置了常用的依赖, 可以直接在函数中引用。
  • 无状态服务即不对用户的数据做持久化的服务。函数计算服务就是典型的无状态服务,一旦用户长时间未进行函数调用,导致函数实例回收,那么之前代码产生的一些中间状态(临时变量、生成的本地文件等等)都会一起丢失。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部