函数计算系统接收异步调用请求后,将请求持久化后会立即返回响应,而不是等待请求执行完成后再返回。函数计算保证请求至少执行一次。如果希望获得异步调用的结果,可以通过配置异步调用目标来实现。
应用场景
如果函数中存在耗时较长、资源消耗较大或容易出错的逻辑,可以使用异步调用的方式,让程序响应更加迅速,更加可靠地应对突发流量。例如:
- 新用户注册系统中,新用户发送注册请求,注册成功后系统向用户发送注册成功邮件通知,发送邮件的动作可以从注册请求处理流程中剥离,异步执行。
- 上传文件时,转换格式和导入导出等动作可以从上传数据流程中剥离,异步执行。
延迟调用
针对某些场景,提交一次异步调用后,需要函数计算对其进行延迟触发。可以通过调用API实现延迟调用函数。
在代码中添加HTTP请求头 x-fc-async-delay
,其取值范围为(0,3600),单位为秒。函数计算将从触发执行开始计算,延迟 x-fc-async-delay
设置的时间后触发函数调用。