MagicGTS
Новичок
Разорвать соеденение с клиентом
Есть скрипт с обратной связью с клиентом (типа клиент регулярно по таймеру запрашивает информацию).
А скрипт соответствено данные отдает или выполняет различные действия. Так трабла в том, что весь функционал я свёл в один файл (есть идея разделить, но думаю что задача интерестна сама по себе). Вобщем основная задача скрипта перекопать кучу файлов на харде, и в процессе работы выдавать информацию о процессе работы (пишет в файл, и когда по таймеру хотят узнать что происходит другой экземпляр этого скрипта читает инфу из файла). А проблема смешна и выглядит примерно так:
Но скрипт на стороне клиента неперестаёт принимать данные до тех пор пока some_proc не закончит мучатся и незавершит скрипт (закончится сеанс связи, значит все данные переданы), но данные которые нужно я уже передал. Все остальные будут получатся врезультате отдельных ссесий связи с центром
. Значит мне нужно объяснить php что нужно разорвать соеденение с клиентом но продолжить работать (ignore_user_abort(2); позволяет продолжить работу если клиент отсоеденился). Вот с этим и трабла. Есть идея вынести это в другой скрипт и запускать его отдельным приемом (каким ещё не придумал, но идеи есть). Но хочется сделать именно разьеденение с клиентом.
Фух! Выродил проблему, надеюсь разобраться можно
Есть скрипт с обратной связью с клиентом (типа клиент регулярно по таймеру запрашивает информацию).
А скрипт соответствено данные отдает или выполняет различные действия. Так трабла в том, что весь функционал я свёл в один файл (есть идея разделить, но думаю что задача интерестна сама по себе). Вобщем основная задача скрипта перекопать кучу файлов на харде, и в процессе работы выдавать информацию о процессе работы (пишет в файл, и когда по таймеру хотят узнать что происходит другой экземпляр этого скрипта читает инфу из файла). А проблема смешна и выглядит примерно так:
PHP:
send_data($data);//Говорим клиентской части что процесс пошел
some_proc($data,....); //Долго работает, ну очень долго (часами)
. Значит мне нужно объяснить php что нужно разорвать соеденение с клиентом но продолжить работать (ignore_user_abort(2); позволяет продолжить работу если клиент отсоеденился). Вот с этим и трабла. Есть идея вынести это в другой скрипт и запускать его отдельным приемом (каким ещё не придумал, но идеи есть). Но хочется сделать именно разьеденение с клиентом.Фух! Выродил проблему, надеюсь разобраться можно
