в роли в init() объявить именованную очередь через rpc?
local res, err = rpc.call('sharded_queue.api', 'create_tube', { 'history_log' })
не робит ((
И как на скрине - тоже. Разными способами пробовал - не получается. Прошу помощи, help :)
PS Я знаю почему не робит через rpc (нет функции создания очереди в return [тык] ), но как это обойти - вообще в голову не приходит. Это вообще возможно - создать именованную очередь на Cartridge в init роли?
PSS На скрине ломается именно после log.warn(' CREATE TUBE 1 ') , т.е. во время создания очереди - так отслеживал вызов)
В лоб не получится, потому что вызов пытается менять clusterwide config, а он уже в процессе изменения когда работает init. Есть несколько подходов: * Проверять наличие очереди перед тем как туда класть/забирать и создавть если нет. * Сделать файбер, который дожидается пока кластер станет configured, и тогда пытается вызывать create tube на одном из узлов. * Добавить tube в clusterwide config.
Спасибо!)
Обсуждают сегодня