Один способ сделать что-то вроде этого
php скрипт:
unlink sqlite.file.md5
generate sqlite.file
calculate md5 sum of sqlite.file and output it in sqlite.file.md5
и клиент должен сделать:
download sqlite.file.md5
if not found:
wait some time and try again (in progress)
download sqlite.file
calculate md5 of sqlite.file and compare it with sqlite.file.md5
if there is a mismatch you probably downloaded in the middle of generation
на самом деле вы не знаете, сколько времени вам нужно, чтобы отложить загрузку, ваш php-скрипт также не знает (например: в зависимости от планировщика ОС он может голодать немного, и каждое поколение может завершиться в разные промежутки времени)
вы можете знать только когда генерация завершена
EDIT:
или вы можете просто вставить одну запись в конец файла sqlite после завершения генерации
а затем проверьте, существует ли он в загруженном файле