
Sergey
21.04.2018
14:44:00

Dima
21.04.2018
14:44:01
Как сделать так что бы не дрочить бд в холостую

Mayor
21.04.2018
14:44:10

Sergey
21.04.2018
14:44:16

Google

Dima
21.04.2018
14:44:27
Пункт 1. Взять деньги за консультацию

Sergey
21.04.2018
14:44:52
ниочем короч, понял

kagorec
21.04.2018
14:45:16
от источника десктопным парсером выбираются цены. потом полученное в чистом виде отправляется на скрипт moisat.ru/import.php ипередается через POST

Dima
21.04.2018
14:45:46
Пункт 2. If $money>$need дать ответ else ?

Mayor
21.04.2018
14:45:48
ну а скрипт что делает
10000 апдейт запросов?

kagorec
21.04.2018
14:46:09
$query = $db->query("UPDATE ".DB_PREFIX."product SET quantity = '".$qty."', stock_status_id = '".$stock."', price = '".$price."' WHERE sku = '".$sku."'");

Sergey
21.04.2018
14:46:23

kagorec
21.04.2018
14:46:27
Как видите в базе сразу обновляет

Dima
21.04.2018
14:46:34

Sergey
21.04.2018
14:46:47
Так я об чем
хуй знает об чем ты но ничего полезного ты пока не сказал

Dima
21.04.2018
14:46:49
Потому что тут подход в корне не верный
Умные люди так не делают

Google

Mayor
21.04.2018
14:47:11

Sergey
21.04.2018
14:47:19

kagorec
21.04.2018
14:47:39
Товаров примерно 60.000

Mayor
21.04.2018
14:47:52
и за раз все 60000 обновляются?

Sergey
21.04.2018
14:48:00
правильный не правильный - факт, и мне как бизнесу плевать если ты сделаешь 10K апдейтов вместо 8K (или 80 UPSERT-ов) - мне что бы дешево суппортить

kagorec
21.04.2018
14:48:05

Sergey
21.04.2018
14:48:12

Dima
21.04.2018
14:48:15

Sergey
21.04.2018
14:48:29

Mayor
21.04.2018
14:48:33
а если нет то это дохуя

Sergey
21.04.2018
14:48:45

Maksim
21.04.2018
14:48:47

kagorec
21.04.2018
14:48:47

Dima
21.04.2018
14:49:02
Мдааа условие задачи так никто и не прочёл

Mayor
21.04.2018
14:50:12

Sergey
21.04.2018
14:50:23

Mayor
21.04.2018
14:50:24
ты подключаешься каждый раз к бд

kagorec
21.04.2018
14:50:38
Посоветовали еще на sku индекс назначить в базе вроде полегчает.

Sergey
21.04.2018
14:50:41
ну короч как по мне решение проблемы - смена хостера

Google

Mayor
21.04.2018
14:50:46
и выполняешь по 1 запросу??

Sergey
21.04.2018
14:50:49

kagorec
21.04.2018
14:50:50

Mayor
21.04.2018
14:51:42
5
Ты уверен что проблема в бд?

kagorec
21.04.2018
14:51:55

Mayor
21.04.2018
14:52:10
может от постоянных 5 запросов в секунду оно и падает?

kagorec
21.04.2018
14:53:08
тут было в приоритет побыстрому чтоб обновляло.

Mayor
21.04.2018
14:55:09
нужно тогда прям на серваке написать на ноде например скрипт, который сразу будет парсить цены и обновлять в бд

Sergey
21.04.2018
15:04:46

Ivan
21.04.2018
15:28:41
Решение с инсертом и апдейт если дубликейт -нормальный подход?

Mayor
21.04.2018
15:29:46

Ivan
21.04.2018
15:30:46
Ну конечно одним, иначе зачем такой писать)

Ivan
21.04.2018
15:31:18
Один большой всегда лучше чем много мелких
?

Mayor
21.04.2018
15:34:46
смотря где ?

Nurik
21.04.2018
18:47:25
Интернет магазин на опекарте, периодически тоесть раз в сутки надо обновлять цены.
Не понял, ты же выше написал:
Обновляю цены в опенкарте и скрипт запускается со скоростью 5 раз в секунду.
Но зачем ? или ты кусками это делаешь ?
Ну в любом случае, тебе нужен другой хостинг.
Кстати обновлять цены 5 раз в секунду, и при этом если у тебя там интернет магазин и чувак накидал товаров в корзину, и пытается оплатить и тут уже другая цена, то вряд ли кто-то вообще у тебя что-то будет покупать. Это антипаттерн.
Для какого-нибудь интернет аукциона с лотами — норм. Потому что бизнес требование. Для интернет магазина — антипаттерн, когда у тебя в корзине прыгают цены, потому что всё на вебсокетах. И ты типа привязан к курсу и так далее.

Евгений
21.04.2018
19:00:04

Nurik
21.04.2018
19:02:19

Евгений
21.04.2018
19:02:39

Google

Bohdan
21.04.2018
19:03:13
хотя...
я видел крупные магазины, которые этому правилу не следуют

Nurik
21.04.2018
19:06:01
Ну это косяк называется
Ну я просто не знаю как можно это нивелировать если у тебя цены обновляются 5 раз в секунду, как у автора.
Хотя я так и не понял, раз в сутки или же 5 раз в секунду.

Sergey
21.04.2018
20:37:29
хотя штуки типа "количество на складе" могут и часто синкать

Admin
ERROR: S client not available

Nurik
21.04.2018
20:44:07

Sergey
21.04.2018
20:44:23
так то да)
но судя по запросу составленному через конкатенацию строк и параметров.... сам понимаешь)

Nurik
21.04.2018
20:45:46

Sergey
21.04.2018
21:12:51
https://getpsalm.org/ - блин клевая штука

Bohdan
21.04.2018
21:21:13
phpweaver мне как-то не зашел
тем более с тайпхинтами
но в легаси может помочь...

Dima
21.04.2018
22:50:52
Кто нибудь пользуется Elasticsearch ?

Sergey
21.04.2018
23:06:09

Dima
22.04.2018
02:30:26

Artem
22.04.2018
05:13:42

Google

Alexundros
22.04.2018
05:57:36
прикольно
а SonarQube с плагином PHP смотрел ?

Artem
22.04.2018
06:12:03
давно. он вроде платный, не?

Alexundros
22.04.2018
06:23:10
нет
но есть платные фишки
для php там 147 правил проверки.
запускается сервер на яве + приложение sonar scaner в папке php проекта (например: через bat файл) все результаты сохраняются в БД на сервере. крутая штука. все красиво. конечно в основном sonarqube для явы но уже есть много плагинов для других языков.
это не реклама =)

Sergey
22.04.2018
07:23:14

Alexundros
22.04.2018
07:31:11
Но там тоже есть норм анализатор кода ;)

Artem
22.04.2018
07:31:31
а 7.2 поддерживается?

ainu
22.04.2018
07:33:14
Правда из-за того что апи ломают, сидим на старой версии

Sergey
22.04.2018
07:44:40

Artem
22.04.2018
07:51:12
он быстрый?

Sergey
22.04.2018
08:08:03
psalm? да, не медленнее чем phpstan и быстрее phan
но он очень строгий
то есть применить psalm на существующем коде может быть больно) у меня вот оно вчера нашло ~500 ошибок (большая часть из которых решается написанием тайпингов для репозиториев) и ~4000 варнингов о том что я где-то ретурн тайп не указал (но в половине случаев оно просто информирует и говорит что судя по коду там int должен быть)
что меня смущает пока это то что автор psalm контрибьютит в phpstan.... хотя по фичам psalm круче (ну и пока это самый приятный с точки зрения расширения функционала анализатор)
я просто как раз искал анализатор который ругнется если тип не смог понять, типа либо явно укажи что "тут может быть что угодно" либо фэйл