пыхе и ларе загвоздка для меня в том, как отправлять Сообщения по цепочке вплодь до секунд
на том что знаешь
Лару знаю 😀 но кажется не то совсем
посмотри вот на это вариант работы с ботами телеграм https://t.me/web_craft/576
Если принципиально важно использовать лару, то можно извартиться и поднять cron-задачу, которая будет делать sleep и в нужный момент отправлять сообщения. Но а так более логичным будет использовать, например, nodejs
Если мне не изменяет память, job'ы всё же используют механизм cron'а, что под собой имеет техническое ограничение при исполнении в 1 минуту. То есть ты не сможешь запускать крон чаще, чем раз в минуту
изменяет, а если уж нужно 1 раз в секунду, то вот решение от великого и ужасного spatie https://github.com/spatie/laravel-cronless-schedule
Выглядит страшно
может и страшно, но 254 звездочки получил, значит кому то и не страшно
Люди из npm'а скачивают пакеты, которые не обновлялись 7 лет..) Хотя о чём это я, каждый сам выбирает способ реализации. Если есть желание - то почему бы и нет, может быть добавится ещё одна звёздочка
Джобы запускаются помимо крона
Джобы обрабатываются по очереди, без ос ановки пока они есть. Но у них так же есть "доступна после", тоесть выполнение можно отложить до наступления какого то конкретного времени (и да ы естественно). Если отправка ваших сообщений занимает 200мс (для примера), а в очередях не лежит больше 5 задач назначенных на одну секунду - то вы уложитесь в заявленные требования "до секунды". Если сервак тянет больше 1 воркера - сможете отправлять больше сообщений в секунду. Для 3 воркеров это уже 15 сообщений за секунду.
На сколько знаю в джобах можно отложить задачу максимум на 15 мин
А 15 минут это для амазоновских очередей. У них там своя специфика.
Не совсем так, только Amazon SQS имеет такое ограничение
Все равно что то я не догоняю. Если будет 1000 воронок, с логикой очередей мне нужно отдельный процесс очереди на каждую воронку чат бота
С такой постановкой задачи я тоже не очень догоняю что конкретно вам нужно
Ну ботхелп например. Вот что нужно) конструктор чат ботов
Так вышло что никогда не писал боты для телеги... И "воронки" в этих ботах так же не писал, так что все ещё не хватает данных чтобы понять что вас останавливает. Бот разве не событийная модель? Нажали кнопку, произошло действие. Зачем там вообще отложенные действия?
Воронки чатботов могут строится отложено ведь. Конструируется серия сообщений в чат мессенджера. Например цепочка из 50 сообщений. Они отправляются автоматом в заданное время. Какие то через 2 секунды какие то через день, неделю и т.д. Автоворонки в чат ботах хочу понять на чем делать лучше вот собственно в чем вопрос
Чёт не с той стороны вы кажется заходите. Иметь одну джобу на одно сообщение - какое то расточительство. Вы ведь можете собирать список "вот этим сообщения о править в 17:32:27" и одной джобой обработать сразу N получателей. Ну а "через день" или "через неделю" точно не требует точности до секунды. Возможно складывает в редиску данные под ключем с временной меткой, + в вечном цикле процесс, который раз в секунду просыпается, выполняет действие для юзеров сложенных в редисе и ложится спать до конца секунды... Ну это так, на вскидку... Проснулся, сделал, почистил за собой, пошёл спать. Отдельно для быстрых сообщений, отдельно для тех которые раз в сутки, неделю, месяц (их накапливаться больше будет, но так они и не требуют секундой точности)
Телеграмм?
Обсуждают сегодня