设计一张任务表或者类似的东西,用户上传时,相当于提交了一个任务。任务中可以有很多属性,比如原始文件名、任务类型、用户 ID 、任务创建时间、任务开始时间、任务结束时间、任务状态、任务简要日志等。 用户上传文件之后,自动在任务表中提交任务,记录下文件的原始名称。磁盘上实际存储文件时使用任务 ID 去作为文件名,这样你调用脚本时不需要关心原始文件名了,全程只需要关心任务 ID 。脚本执行完成之后根据任务 ID 去更新任务状态。结果文件保存时也是只关心任务 ID 。 用户下载结果文件时,在下载接口中根据任务中的原始文件名实时生成结果文件名。这样结果文件也不需要关心原始文件名了。 根据这个任务表,后面还可以增加更多的业务,比如批量导入、对接其他系统自动导入、重试导入、导入历史等等。