关于前后端交互的后台接口设计的问题

业务场景:用户在界面提交一个任务,服务端接收任务并在后台执行(会生成一个唯一的任务id)。

处理任务接口的流程:
1)验证用户是否有权限等
2)生成一个唯一的任务id
3)执行任务

现在需求变了,要增加一个“预估任务时长”的功能:如果预估任务执行时间较长,就返回前端提示用户“是否继续提交”。并且要求要在验证各种权限之后再预估任务时长(因为先预估任务时长的话,如果验证权限不通过就白做预估了),而且预估任务时长的结果也要存下来,跟任务id关联起来。

那么接口自然就改造成这样:
1)验证用户是否有权限等
2)生成一个唯一的任务id
3)预估任务时长
4)保存预估结果(用第二步生成的任务id关联)
5)执行任务

但是这样是有问题的,如果预估任务执行时间较长,就要return一个提示给前端,如果用户选择继续提交,那么前端又继续调一次这个接口,那不就是死循环了吗

然后我打算分开两个接口:
接口1:
1)验证用户是否有权限等
2)生成一个唯一的任务id
3)预估任务时长

接口2:
1)验证用户是否有权限等
2)执行任务

但是这样任务id就无法关联到这两个接口了。

大家有什么好的建议吗

生成任务id的操作,能放在第二个接口吗?