Michael
Я видал проект, в котором куча хтмл передавалось ажаксом. Это был адъ
Anonymous
на роут /job прилетает json, я его пуляю сюда class SendReminderPost implements ShouldQueue отсюда хочу опять на роут public function handle(Request $request) { $client = new Client([ ]); $client->request('POST', route('botman'), ['body' => \GuzzleHttp\json_encode($request->json()->all())]); }
Os
Я видал проект, в котором куча хтмл передавалось ажаксом. Это был адъ
иногда тоже так делаю, возвращаю сразу html, в этом ничего такого нету, можно возвращать и json конечно, а потом каким-нибудь js шаблонизатором это все дело обрабатывать, но иногда этого не нужно
Anonymous
я просто в $ php artisan queue:listen вообще не вижу никаких действий
Anonymous
вот это дейсвие из контролера ставит же в очередь? $this->dispatch(new SendReminderPost()); return response('OK', 200);
Dmitriy
вот это дейсвие из контролера ставит же в очередь? $this->dispatch(new SendReminderPost()); return response('OK', 200);
да ставит, больше мне интересно зачем еще раз отправлять на роут
Anonymous
я хочу принять запрос на роуйт /job отправить задачу в очередь и показать ответ 200.. а потом уже пусть выполняется долгая задача
Michael
серьезно? ну окей.
Работал год на поддержке 12 летнего проекта. Барахолка буржкцская, там такая каша, без доков, тз, и самописном недофремворке
Anonymous
да ставит, больше мне интересно зачем еще раз отправлять на роут
ок и как мне мой class SendReminderPost implements ShouldQueue запустить и слушать новые запросы?
Os
У меня есть проекты, где есть строгое соблюдение и возврат только json данных, есть проекты, где это не особо надо и там я возвращаю view, к примеру результаты поиска, потому что мне так удобнее.
Os
ну view возвращается как одно из значений в json response
Anonymous
что в .env QUEUE_DRIVER=sync вот тут
QUEUE_DRIVER=sync REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
Dmitriy
QUEUE_DRIVER=sync REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
Это синхронный драйвер. запускать listen не нужно. он запускается как обычный код
Michael
У меня есть проекты, где есть строгое соблюдение и возврат только json данных, есть проекты, где это не особо надо и там я возвращаю view, к примеру результаты поиска, потому что мне так удобнее.
Повезло с новой работой, завтра Испыт срок закончится) проект с нуля. Лара, фронт на девЕкспресс. Всё заставил передавать жсоном, или <script> let state={{ json }}
Os
какой-то не типичный выбор для фронта
Os
почему не тот же extjs, который не настолько экзотичен
Os
хотя есть angular, react, vue
Michael
почему не тот же extjs, который не настолько экзотичен
90% гриды Потому-что, прайсы, товары и тд
Michael
Девки это компоненты в основном. А то фреймворки
Dmitriy
в итоге я получу вот такое?
нее. надо менять драйвер
Anonymous
нее. надо менять драйвер
реббит подойдет?
Dmitriy
да
Os
проще beanstalk поставить, чтобы ты ещё вопросами по настройке реббита не мучал людей
Anonymous
да
поставил https://github.com/vyuldashev/laravel-queue-rabbitmq и конфиг прописал и провайдер
Anonymous
поставил https://github.com/vyuldashev/laravel-queue-rabbitmq и конфиг прописал и провайдер
$ php artisan queue:listen [2017-08-13 15:24:31] Processing: App\Jobs\SendReminderPost [2017-08-13 15:24:32] Processed: App\Jobs\SendReminderPost [2017-08-13 15:24:34] Processing: App\Jobs\SendReminderPost [2017-08-13 15:24:34] Processed: App\Jobs\SendReminderPost [2017-08-13 15:24:49] Processing: App\Jobs\SendReminderPost [2017-08-13 15:24:49] Processed: App\Jobs\SendReminderPost это я их только слушаю? или они выполнились?
Os
Они выполнились
Os
Processing: задача выполняется Processed: выполнилась
Anonymous
Processing: задача выполняется Processed: выполнилась
я понял, а почему теперь тут пусто? public function handle(Request $request) { dump($request->json()->all());
Anonymous
а как теперь удалить мои задачи? [2017-08-13 15:45:36] Processing: App\Jobs\SendReminderPost [2017-08-13 15:45:39] Processing: App\Jobs\SendReminderPost [2017-08-13 15:45:42] Processing: App\Jobs\SendReminderPost [2017-08-13 15:45:45] Processing: App\Jobs\SendReminderPost
Anonymous
Processing: задача выполняется Processed: выполнилась
а помоги даннные из контролера передать
Anonymous
Processing: задача выполняется Processed: выполнилась
вот так в контролллере public function handle(Request $request) { $data = $request->json()->all(); $this->dispatch(new SendReminderPost($data)); return response('OK', 200); }
Os
В конструкторе job принимай данные и все
Anonymous
а из joba иожно выполнить роут:?
Anonymous
как все привязки и возможности с роута Route::match(['get', 'post'], '/botman', 'BotManController@handle')->name('botman')/*->middleware('request')*/ ; перенести мне в job?
Artem
Ребята как лучше делать скрипты для крона? просто ссылки и обычные контроллеры?
Anonymous
Ребята как лучше делать скрипты для крона? просто ссылки и обычные контроллеры?
Так в доках же все по полочкам расписано. Как и через что.
Artem
можно ссылку?
Anonymous
https://laravel.com/docs/5.4/scheduling
Anonymous
можно ссылку?
Первая ссылка в гугле на запрос "laravel cron"
Anonymous
Могу ссылку на гугл скинуть
Artem
пока
Anonymous
да
Дима почему не могу сдлеать так public function __construct(Request $request) { $this->request = $request; } Serialization of 'Closure' is not allowed в классе вот это class SendReminderPost implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
Anonymous
код нужен
из констролера, отправляю в JOB Оьект Request $this->dispatch(new SendReminderPost($request)); в JOB-e public function __construct($request) //тут объект падает с ошибкой Serialization of 'Closure' is not allowed
Anonymous
хорошо, если я просто передам свои данные $request->json()->all() как мне в jobe из них Создать Обьект Request
Vladislav
Всем привет, краткий вопрос в 5 часов ночи...
Vladislav
Если я использу отношения, и собираюсь релизовать добавления/редактирвоание компаний то делать так? if (is_null(Auth::user()->company)) { $company = Auth::user()->company; } else { $company = new Company(); } //тут редактирование добавление данных из полей $company->save()
invariance
пиздец, откуда вы беретесь
invariance
со своими вопросами десятистрочными
Anonymous
Нельзя $request туда пробрасывать. можно туда $request->all() если он уж там нужен
я понимаю, а как тогда из данных $request->all() сделать мне обьект Reqest?
Dmitriy
зачем это делать то ? $request = new \Illuminate\Http\Request(); $request->replace($all);
Anonymous
иначе ботман не работает
ему данные нужны, а где он их возьмет? из \Illuminate\Http\Request еслии только
Anonymous
зачем это делать то ? $request = new \Illuminate\Http\Request(); $request->replace($all);
не, чот такой варинт тоже не прокатыват, как я хоч.у.. ладно до завтра, сппасбио всем
Anonymous
В смысле ?
https://botman.io/ знаешь? как поставить на асинхронные очереди? мой вариант пока такой Создать контролер, который принимает json его пуляет в очередь и отдает статус 200, а уже из очереди задача летит на котролер в котором обработчик.
Anonymous
В ParameterBag как данные загнать и потом их в Reqest?
Andrey
Все одну тему трете?)
Anonymous
зачем это делать то ? $request = new \Illuminate\Http\Request(); $request->replace($all);
($request->setJson($this->request)); $request->request->add($this->request); $request->replace($this->request); вот такие варианты юзал, добавляют данные но не туда в ParameterBag надо
Andrey
В ParameterBag как данные загнать и потом их в Reqest?
$a = new ParameterBag(['foo' => 'bar']); не работает?
Anonymous
$a = new ParameterBag(['foo' => 'bar']); не работает?
работает, а как потом это в реквест?
Andrey
А тебе зачем? Я прост пропустил много
Anonymous
А тебе зачем? Я прост пропустил много
чттоб сформировать Request который был изначально, до того как я вытянул данные ` $request->json()->all() ```и пустил его в очередь
Andrey
А, что-то читал. Тебе в очереди нужны данные именно в формате реквеста? Дай ссылку, кто их там требует? Ну ботман там твой. Где он это требует?
Anonymous
А, что-то читал. Тебе в очереди нужны данные именно в формате реквеста? Дай ссылку, кто их там требует? Ну ботман там твой. Где он это требует?
в контроллере когда приходит реквест, то работает такой код $bot->getMessage()->getMessage() я могу получить сообщение пришедшие, а без реквеста в jobe пусто "" https://botman.io/1.5/installation
Andrey
$bot->getMessage()->getMessage() - это твой код же?