Евгений
это прям так необходимо?
Олекс
зачем параллельно?
потому что работа будет вестисть одновреммено с 5 аккков и я должен парсить все изменения в реальном времени
Евгений
ну на самом деле идея в том, чтобы распареллелить задачу и заходить в каждом потоке своими данными и получать свой токен
SarcasmIO
Евгений
ну например вот здесь неплохо расписано http://blog.carlesmateo.com/2015/06/17/scaling-phantomjs-with-php/
Евгений
по сути всё сводится к запуску 5-10 процессов фантом джс
Олекс
adikalon
так)
adikalon
как правильно обойти 2млн строк в таблице?)
Евгений
а в каждом процессе будешь юзать свои логин/пароль
Евгений
adikalon
по кускам
это как? первичных ключей там нема(
Sergey
adikalon
Sergey
тогда ты что-то делаешь неправильно, в innodb всегда задавай руками первичный ключ
Sergey
а после этого и обойти сможешь
Sergey
кто тебе запрещает изменить таблицу?
adikalon
Sergey
да
adikalon
да
а я потом удалить его смогу?
Sergey
зачем, пусть будет
Sergey
тогда да - сможешь
adikalon
ок
Anonymous
так вопрос как это отсюда вызвать?
'middleware' => 'Chatbots\Middleware\OneMiddleware'
так не вызывается
'middleware' => eval(Step::find(1)->code)
Call to a member function connection() on null
SarcasmIO
гг
Евгений
в каких расчётах?
Евгений
number_format те в помощь
Евгений
http://doktorgradus.com/images/2017-11-13_WYrNWiPF.png
U
блинн я тут хз: Fatal error: Uncaught Error: Call to undefined method pdoDriver::prepare() in
U
https://hastebin.com/afagurogef.php
U
он считает что $stmt = $this->driver->prepare($query); это метод
U
а правде обычная штука pdo prepare
U
мб отдельно сделать? только я хз
adikalon
такс)
adikalon
Допустим я сделал запрос в PDO получил массив объектов. Перебираю их в цикле проверяя на определенное условие и если условие выполняется необходимо текщую строку удалить. Это возможно?
SarcasmIO
какую текущую?
SarcasmIO
ты крутишь коллекцию
foreach($posts as $post)
if($post->params == something)
{
$post->param2 = null
}
SarcasmIO
???
Евгений
Евгений
$sql = "DELETE FROM movies WHERE filmID = :filmID";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':filmID', $_POST['filmID'], PDO::PARAM_INT);
$stmt->execute();
SarcasmIO
видимо я не так понял
adikalon
какую текущую?
я понимаю что в цикле я перебираю не строки в таблице) А элементы массива, но темне менее...
сейчас скину кодец чтоб было понятней, только скажите как его отправить так чтобы был отформатирован как у вас?
Евгений
adikalon
'$pdo = new PDO('mysql:host=localhost;dbname=testparser', 'root', '', [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
$sql = "SELECT * FROM test";
$stmt = $pdo->query($sql);
$row = $stmt->fetchAll(PDO::FETCH_OBJ);
foreach ($row as $r) {
$sql = "SELECT * FROM test WHERE lot_id = $r->lot_id AND category_id = $r->category_id";
$stmt = $pdo->query($sql);
$count = count($stmt->fetchAll(PDO::FETCH_OBJ));
if ($count > 1) {
// удалить
}
}'
adikalon
,kz
adikalon
бля
adikalon
не вышло чет
adikalon
хз как отправить красиво короч(
adikalon
вот https://pastebin.com/JKA0xvAi
adikalon
перехотели отвечать?(
Евгений
ну вот, бери результат запроса, собирай из него айдишники и удаляй
Евгений
чтобы удалить без айдишников тогда пиши значимые поля.
DELETE FROM `test` WHERE `field1` = :val1 AND `field2` = :val2
🦔
чёт бот мышей не ловит
SarcasmIO
Евгений
такое из консоли надо запускать
Anonymous
Illegal string offset 'date' in path что за еррор?
adikalon
Таки удалил повторы, это оказалось проще чем я думал. хоть и стремно( 1.5 миллионов повторов из 2 млн. збс. Пойду покурю
Сергей
adikalon
Aleksandr
що не так?
Все можно было сделать одним запросом. И подсчёт строк через полную выборку всех строк и передачу их скрипту - это прям сильно
adikalon
Aleksandr
Aleksandr
Один запрос delete с джоином
adikalon
единственное что можно было, это искать уже в выборке чтобы посчитать колличество. но нахуй мне этот гемор
Anonymous
спамерша
invariance
Завтра
Сергей
Нагрузка на мускул, очевидно.
adikalon
Слу а мне вот например нужно парсер писать, бегать по страницам в цикле и инфу из каждой писать в базу. Как тут без запросов в цикле?
Сергей