Я пишу приложение, используя jruby на рельсах. Часть приложения запускает длительный процесс с веб-страницы. В некоторых случаях длительный процесс может длиться 20 минут, но в большинстве случаев он переживает отклик веб-страницы с точки зрения времени. Я также хочу, чтобы работа продолжалась, если пользователь закрывает браузер. Длительный процесс добавит записи в базу данных во время ее работы.
Я хочу дать визуальную информацию о вставках в базу данных на веб-странице, и я бы предпочел использовать веб-сокеты, а не опрашивать базу данных для вставок.
Я думаю об отправке сообщения в очередь восстановления с помощью обработчика очереди, который обеспечит выполнение задания, если пользователь закроет браузер. Обработчик очереди выполнит вставки в базу данных.
Я думал об использовании EM-WebSocket в качестве сервера веб-сокетов.
У меня проблема:
Как я могу связаться между процессом resque и процессом EM-WebSocket? Я хочу как-то передать детали новых вставок в базу данных из процесса resque в экземпляр EM-WebSocket, который будет взаимодействовать с браузером?
Кто-нибудь решил такую проблему или какие-нибудь идеи, как мне это сделать?