业务场景:用户在界面提交一个任务,服务端接收任务并在后台执行(会生成一个唯一的任务id)。
处理任务接口的流程:
1)验证用户是否有权限等
2)生成一个唯一的任务id
3)执行任务
现在需求变了,要增加一个“预估任务时长”的功能:如果预估任务执行时间较长,就返回前端提示用户“是否继续提交”。并且要求要在验证各种权限之后再预估任务时长(因为先预估任务时长的话,如果验证权限不通过就白做预估了),而且预估任务时长的结果也要存下来,跟任务id关联起来。
那么接口自然就改造成这样:
1)验证用户是否有权限等
2)生成一个唯一的任务id
3)预估任务时长
4)保存预估结果(用第二步生成的任务id关联)
5)执行任务
但是这样是有问题的,如果预估任务执行时间较长,就要return一个提示给前端,如果用户选择继续提交,那么前端又继续调一次这个接口,那不就是死循环了吗
然后我打算分开两个接口:
接口1:
1)验证用户是否有权限等
2)生成一个唯一的任务id
3)预估任务时长
接口2:
1)验证用户是否有权限等
2)执行任务
但是这样任务id就无法关联到这两个接口了。
大家有什么好的建议吗
生成任务id的操作,能放在第二个接口吗?