因此,我必须读取一个Excel文件,其中的每一行都包含一些我想写入数据库的数据。我将整个文件传递给laravel,它读取文件并将其格式化为数组,然后在数据库中进行新的插入(或更新)。
事实是,输入的excel文件可以包含数千行,并且需要一段时间才能完成,在某些情况下会给出timeout error
。
当我尝试在本地进行此操作时,我使用set_time_limit(0);
函数,因此不会发生超时,而且效果很好。但是出于安全原因,在远程服务器中此功能被禁用,并且我的代码由于超时而崩溃。
有人可以帮助解决这个问题吗?也许另一个想法如何更好地解决这个问题?
最佳答案
处理需要很长时间的任务的一种好方法是使用所谓的jobs。
当有人向您发送文件时,您可以创建一个名为ImportExcel
和dispatch
的作业。
看一下docs,他们有一些很好的例子。