Премествам импортиранията на excel файлове (често големи, често малки) във фонов режим с помощта на Sidekiq и предупреждавам потребителя, когато импортирането завърши с помощта на Pusher.
Първо, в „синхронния“ поток (приложението Rails тук), той ще започне импортирането на Excel и след това ще пренасочи към страница на таблото за управление, която ще получава известия от Pusher, когато импортирането приключи.
Проблемът е, че потокът Sidekiq-Pusher понякога върви по-бързо от пренасочването към страницата на таблото. Моят абонат на JavaScript няма да бъде инициализиран навреме, за да получи съобщението, което се публикува от фоновия процес. Така клиентът не получава нищо.
Pusher предлага ли начин за забавяне на публикуването на съобщение, докато има абонат? Или Pusher предлага начин за „натрупване“ на съобщения, докато абонатът оживее, за да ги консумира? Или може би тук има по-просто решение, за което не съм се сетил?
Fyi, не искам фоновото задание да заспива за няколко секунди, за да се уверя, че клиентът е готов, и не искам да използвам Pusher, за да задействам опресняване (т.е. да запазя нещо в DB, след това да опресня, за да го покажа ).
Ще се радвам да предоставя примерни кодове, ако желаете.
РЕДАКТИРАНЕ:
Със сигурност съм готов да използвам нещо друго освен Pusher, ако нещо друго може да реши проблема ми.