好的,我们说我的网站允许用户上传大批文件进行处理。
现在,一旦他们上传文件,就会调用process_files()函数。这将需要很长时间才能完成,它将基本上使用户无法使用该网站,直到任务超时或完成。
我想知道的是,如果在并行或后台执行此操作很容易,那么用户仍然可以使用该网站吗?
如果它在我的情况下有所不同,那么很少会被调用。
答案 0 :(得分:4)
您可以将任务分为两部分:
第一部分(web)仅将文件保存在磁盘上。通过这种方式,Web部件可以快速工作。
秒(系统)将处理第一部分保存的所有文件。并且您可以定期启动它,即作为Linux上的cron任务,或根据您的系统使用其他任务调度程序。
答案 1 :(得分:0)
我建议在文件上传后,通过CLI调用脚本,该脚本将在后台运行并且不会阻塞:
exec("php the_long_file_processing_script.php > /dev/null &");