• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

XF 1.4 Why does import stop when I suspend my laptop?


Active member
I started a test import last night of a board with several million posts, then closed my laptop and went to bed.

The test import is on a VPS, so I assumed that I'd triggered the import script and it would run server-side and be finished by the time I woke up.

Instead, when I turned on my laptop, the import script hadn't progressed any further, but it also hadn't shut down either--it just picked up right from where it was when I turned off my laptop.

Why is this?

Is this import script happening client-side and not server-side for some reason? Javascript is obviously checking the progress of the import, but I assumed it was just polling the script on the server; is something else happening instead?


Active member
A couple of clarification questions:
- I don't understand what's executing the time-out on the server... php itself or nginx killing the php process if it doesn't receive a request from the client? (I'm not sure if php runs in a multi-threaded or multi-process model under nginx)
- When the javascript refreshes the page to re-call the script, is it kicking off a new intance of the script process each time? So the script would go check the import log, find the last imported data, and then continue from there? If so, seems like a lot of wasted effort versus just running this script via the terminal
- Or is it somehow keeping the same script instance running until a timeout happens?
- When a timeout does happen and kills the process, and then I refresh the page manually, does that start another import script process, and then it uses the import log to figure out where to pickup from?


XenForo developer
Staff member
If you're doing a web based import, the main approach requires refreshes and to be broken down into parts. This is really just how PHP is set up to be used. It would be approached differently in a terminal but the import generally isn't setup to be triggered that way and there are potentially questions that need to be handled via the web interface.