这个超时与nginx说有关系也可以,说没关系其实也是可以的。主要在于程序设计上。
解决办法:
1、客户端和服务端约定导入数据处理状态码Code,Code取值为1-接收导入数据请求 2-数据处理中 3-数据导入失败 4-数据导入完成;
2、客户端通过ajax请求服务端接口(比如接口是 import.htm)开始导入数据;
2.1、服务端接收到客户端的ajax请求并在缓存/数据库/session等(选其一熟悉技术)记录开始导入数据操作状态值,同时通知数据导入程序开始导入数据(数据导入程序会一致运行...),然后服务端立即返回Code值(此时取值为1).
2.2、客户端接收到服务端的返回值后,通过友好提示服务端正在导入数据.
2.3、服务端导入程序开始导入数据后,可以改变约定的状态值为2,处理异常时可以改变状态值为3,数据导入成功后可以改变状态值为4.
3、客户端可以每隔5秒向服务端发起一个ajax请求(比如接口是 status.htm)获取数据导入状态。服务端去获取2.1中约定的数据操作状态值取状态码返回给客户端,客户端根据不同的状态码Code值来提示数据导入状态。直到获取到Code为4时数据导入成功。
4、客户端通过ajax请求获取到状态码值4后,结束客户端轮询请求。
当然,如果熟悉Socket.IO也可以使用基于浏览器的socket技术实现。
基于以上,无论nginx超时是多长时间都没关系。
要是数据导入也是PHP程序要怎么实现
@大妖小白: https://www.cnblogs.com/zlx7/p/4816247.html 这里有朋友实现...
百万条数据的cvs用mysql导入也就秒秒钟的事情吧。不知道你用的什么数据库,查一下对应的批量导入函数。百万条数据的文件通过网页上传也应该很快吧,能有多大?