Какую технологию использовать при прослушке сервера?
При добавлении записи в БД нужно обновить данные на фронте. На серверной стороне codeigniter. Насколько я понимаю, то нужно создавать второй поток. Необходимо использовать promises?
Если данные в базу кидаешь на сервер через ajax с фронтенда, то для обновления ожидай там же ответ (success допустим или error и т.д.), после, на основании полученных данных уже и меняй фронт содержимое. Можно также через fetch:
проблема в том, что запись в БД будет не с этого приложения. Тут я вижу либо делать либо Ajax запрос например раз в 10 сек и ждать респонс, либо как то вешать на сервер поток который будет фронту сообщать, что в БД появилась запись
McThinker, Другой вопрос - если надо синхронно обновить данные на всех клиентах ;)... Здесь уже либо бекенд на ноде банчить, либо вещать интервальный запрос на сервер и по факту изменений данных менять на клиентах
BATPYIIIKOB, отпадает нода. Используется codeigniter и переписывать на node.js никто не даст, да и затратно по времени. А если отдельный поток и как то в фоне слушать?
McThinker, не понимаю как "вешать на сервер поток". РНР скриптовый по сути и у каждого скрипта есть своё время выполнения, после чего "умирает" и запрос и поток. По моему простой и доступный вариант - периодический опрос сервера :)
BATPYIIIKOB, так и есть. Пробовал на php. Через время Connection: close
Connection: keep-alive, но параллельно останавливается выполнение скрипта на фронте
McThinker, а какой смысл? почему не хотите использовать интервальные запросы? Приложение высоконагруженное или запрос долго выполняется? Через web workers можете попробовать, но сколько времени уйдёт на реализацию? Опять же принцип останется прежним - циклические запросы в беку. Бек на РНР сам ничего не вернёт пока его не спросят, а увеличить время выполнения скрипта и уводить его в поток - это нецелесообразно.