Игоревич
да, в целом нет единого решения
Игоревич
если чисто на Job`ах
Игоревич
Поэтому расписания или событийная модель, в зависимости от задачи
Наиль
задача в том чтобы не превышать лимитов телеграм API при отправке сообщений пользователям
Наиль
бот может отправить не более 30 сообщений в секунду
Игоревич
Я бы сделал стек-хранилище, куда записывал сообщения для отправки, и по расписанию стартавал бы скрипт, который забирал данные из очереди и пихал в апи
Наиль
имеете ввиду раз в минут берем из очереди 1800 сообщений и отправляем их?
Игоревич
не более 30 в секунду же) можно демона запустить, он через sleep(1) будет по 30 сообщений брать из очереди и пихать в апи
Игоревич
либо раз в минуту, если поток небольшой
Наиль
30 в секунду = 1800 в минуту
Игоревич
бот может отправить не более 30 сообщений в секунду
просто если всего 30 в секунду, то разово 1800 не запихнуть, но можно через слип, да
Игоревич
и таймаут у скрипта, чтобы не дублилсь воркеры
Denis
кто нибудь сталкивался с таким? установил homestead но он не видит проекты. и когда я перехожу на виртуальную машину по ssh он не видит каталоги Code и тд. У меня швиндовс
Наиль
зависит, конечно, от того допускает ли телеграм краткосрочные перегрузки, тогда можно было бы разом по 1800 раз в минуту отправлять
Наиль
в общем спасибо за варианты, с counter тоже можно рассмотреть, подумаю еще
Anonymous
Хелр с пакетом, хочу переделать под skype https://github.com/TelegramPassport/passport-laravel - как заюзать Socialite? public function handle() { return Socialite::with('telegram')->redirect(); } так не идет
Anonymous
как такая штука делается https://telepass.me/login, просим прислать текст, и потом ставим куки и авторизируем?
Anonymous
в общем спасибо за варианты, с counter тоже можно рассмотреть, подумаю еще
Я бы сделал сделал класс Limiter с методом wait(), если уже достигнут лимит, то он бы ждал иначе сразу делал возврат. Но вообще php плохо подходит для таких вещей
Наиль
Спасибо
Александр
перечитываю доку ларавел
Александр
не пойму
Александр
$this->app->bind('HelpSpot\API', function ($app) { return new HelpSpot\API($app->make('HttpClient')); });
Александр
че за дурацкий пример
Александр
втф new HelpSpot\API($app->make('HttpClient'));
Александр
или класс не обязательно должен быть абстрактным
Александр
который мы биндим?
Александр
ах вон как, пасиб
Denis
ах вон как, пасиб
Можно первым аргументом пихать несуществующие или, наоборот, существующие в приложении классы
Denis
Во втором случае конкрет(2 аргумент) - должен расширять класс из абстракта (1 арг)
Александр
проверил
Александр
реально работает
Александр
а насчет несуществующих
Александр
интересно
Александр
счас проверю
Andrey
интерфейс подставь туда
Ростислав
привет всем. Подскажите,пожалуйста. Как создать фабрику,чтоб брала например 'name' из массива. Пробую вот так: 'name' => (['Real','Barsa','Atletiko','Dynamo','Shachter','Porto','Munich','Zorya','Karpaty']), не работает, в гугле видел только с randomelement,но такое не подходит
Andrey
а как это может работать? Зачем в скобки обернул? Что это получается вообще?
Ростислав
типа массив. Я еще дно конкретное,15 минут назад узнал про эти фабрики Изначально было так 'name' => $faker->randomElement(['Real','Barsa','Atletiko','Dynamo','Shachter','Porto','Munich','Zorya','Karpaty']),
Andrey
Бро, тебе надо основы языка учить
Andrey
то, что ты писал до этого - синтаксически неверно
Ростислав
Хорошо,спасибо
Andrey
Так, надо не забыть завтра horizon потыкать
Anonymous
а из контролера можно в другой контролер отправить?
Anonymous
потыкай хэлпер redirect()
Anonymous
потыкай хэлпер redirect()
а в use не нужно что то такое прописывать? Illuminate\Routing\Redirector
Anonymous
а из контролера можно в другой контролер отправить?
if($bot->getDriver()->getName() === 'Telegram'){ dump($bot->getDriver()->getName()); return redirect()->action('TelegramController@receive'); } чот не перенаправляет
Anonymous
может условие не срабатывает
срабатывает, я проверил
Anonymous
срабатывает, я проверил
и без условий не перенаправляет, лавдно я на обед
Anonymous
и без условий не перенаправляет, лавдно я на обед
попробуй добавить для этого экшна какой-то роут
Anonymous
In order for you to use that, you need that controller method defined in the routes.
Denis
Из кложура может не работать редирект
invariance
http://horizon.laravel.com/
дашборд для работы с очередями?
invariance
и притом только для редиса
invariance
круууто
invariance
(нет)
Denis
А бд horizon тут не причем?
invariance
нет
Yushkevich
А кто-нибудь поднимал вообще очереди на редисе? Быстрое гугления нормальной информации не дало
Yushkevich
Что то у меня скепсис. Не оставить ли все на кролике
Denis
Дааа.. подкачал Тейлор... Это не то, что нам заменит пушер и подобные?
Yushkevich
Ну это ж по идее другое и для других целей
invariance
у нас либо beanstalkd либо кролик будет
invariance
точно не редис)
Yushkevich
То есть я про что - редис безусловно хорош. И для очередей его можно использовать. Только хорош ли он для очередей и точно ли он лучше кролика и beanstalkd
Denis
Че за кролик, фолли?
Yushkevich
Я работал очередями, в ларевеле всё норм и вообще
В ларавел сейчас из коробки очереди не на редисе :)
Yushkevich
RabbitMQ
Anonymous
Вообще из коробки они в базе данных
invariance
Я работал очередями, в ларевеле всё норм и вообще
очереди в ларавеле и очереди на уровне сервера - разные вещи по-моему)