Добрый день! Есть задача,файл(не знаем его адрес) должен конектиться другому файлу(знаем адрес).И как только происходит выполнение второго файла(сторонний ресурс выполняет его,передавая post) нужно результат данного выполнения передать в первый файл. Как реализовать? С помощью WebSocket? Или чего-то другого?
Сергей Попов, Есть crm,в ней есть интеграция(в нее я заливаю архив с файлами,получается на сервере,но не знаю адрес к ним). Вот это первый файл. А второй лежит у меня на сервере.
zloidennnn, предлагаю следующий вариант.
Сделать метод, который будет пинговать адрес, как только задача будет выполнена.
Коротко: есть первый скрипт, который находится в CRM системе и выполняет какую-то работу.
Есть второй файл, на локальном сервере, которому важно узнать, когда такая работа закончится.
Делаем роут (или вешаем слушателя на порт / адрес), по запросу на который будет выполняться какое-либо действие. Это во втором скрипте.
В первом делаем метод, который будет курл-запросом тыкаться в созданный роут с необходимыми параметрами.
Все.
Сергей Попов, Вы,кажется, неправильно поняли. Давайте объясню подробно. Это связно с телефонией. Например, телефония отправляет мне в файл на сервере данные post(при входящем звонке), этот файл выполняется(в crm создаются контакты,сделки и тд.). А далее мне нужно отобразить ссылку на созданный контакт в crm. То есть, нужно оповестить crm, что пришел входящий звонок. Но я не имею ссылки на файлы,лежащие в crm, которые мне нужно оповестить.
zloidennnn, Вам нужно, что бы сервер оповестил пользователя о том, что обработан файл? Попробуйте подключить pusher или firebase. Можно, например, через redis.
Если Вам нужно сделать на стороне сервера, то создаете событие и подписчиков. Как только файл обработается отправит событие "обработано" и нужные подписчики обработают событие "обработано"
zloidennnn, выше был дан качественный ответ. Идеальный вариант концепция слушателей - бродкастеров. Я делал подобное на связке Laravel + Socket.io + Redis. Но это хорошо работает для связи фронтенда и бэкэнда.
В вашем же случае, можно подписать CRM на прослушивание событий редиса, куда будет писать первый скрипт.