• Как сохранить записи в БД в цикле на node.js?

    @zifmezin Автор вопроса
    Slava Rozhnev, Спасибо. INSERT IGNORE INTO в моем случае было очень кстати, работало как надо. Но в итоге я ушел от записи в БД из скрипта nodejs, а делаю это средствами фреймворка Yii2, получая от nodejs данные в json. Спасибо всем за подсказки
  • Как сохранить записи в БД в цикле на node.js?

    @zifmezin Автор вопроса
    Александр Карабанов, а как же тогда лучше реализовать сохранение полученного массива ключей в базу? Сразу массива? Если я правильно понимаю, в случае наличия в массиве дубля, весь запрос будет не успешным, а мне бы нужно все остальные сохранить, которые не являются дублями.
  • Как сохранить записи в БД в цикле на node.js?

    @zifmezin Автор вопроса
    1) Массив у меня формируется всякий раз, когда я обращаюсь к скрипту. В рамках этого массива, я проверяю его на дубликаты. Но средствами js, то есть не обращаясь к БД для проверки на наличие элементов в БД перед их сохранением.
    2) Да, ключ объявлен уникальным, поэтому при вставке я и проверяю на ошибку "ER_DUP_ENTRY"
    3) Почитал про ASCID - примерно понимаю, о чем речь, но не до конца. У меня был вариант с сохранением в БД сразу всего массива:
    connection.query(sql, [values], function(err) {
              if (err) throw err;
              conn.end();
          });

    но я решил пойти через цикл, чтобы сохранять каждый элемент массива, а в случае ошибки на дубликат - просто пропускать его, без сохранения. Как это сделать в асинхронном js?
  • Как сохранить записи в БД в цикле на node.js?

    @zifmezin Автор вопроса
    Slava Rozhnev, да, прошу прощения, не понял сначала как вставить, поправил
  • Yii2 SluggableBehavior не генерит slug при создании объекта из очереди /queue?

    @zifmezin Автор вопроса
    Сработало!!!
    Действительно, на борту стоял php8.0 (скорее всего без php-intl), но меня смущал вывод phpinfo(), который указывал на php7.2 и наличие php-intl
    Запустил в итоге консольную задачу и SluggableBehavior отработал как надо.
    Коварная оказалась проблема, долго мучился, большое спасибо vilinyh и Максим за подсказки!
  • Yii2 SluggableBehavior не генерит slug при создании объекта из очереди /queue?

    @zifmezin Автор вопроса
    Провел ряд экспериментов - на локальном сервере работает как из консоли, так и из Веба. На виртуальном сервере ни один из двух вариантов не работает.
    Хотя если зайти в статью и пересохранить - SluggableBehavior отрабатывает.

    В логах php почему-то ничего нет, видимо нет ошибки.

    Попробуйте установить его для php который работает с очередями.

    А как понять, какой php работает с очередями? Я думал и очереди и консольное приложение все работают на одном и том же php и окружении
  • Yii2 SluggableBehavior не генерит slug при создании объекта из очереди /queue?

    @zifmezin Автор вопроса
    vilinyh, набросал ту же команду в консольный контроллер что и в вебе, запускаю из консоли, воркеры отрабатывают и ... на локалке все работает (slug генерится как надо), а вот на боевом хосте не хочет. Вместо slug появляются -1, -2, -3... Хотя я переношу все через git.
    И конфигурации практически идентичные и php-intl в обоих конфигурациях стоит
    7.2.34-8+ubuntu16.04.1+deb.sury.org+1 Apache/2.4.18
    7.2.34-13+ubuntu16.04.1+deb.sury.org+1 Apache/2.4.18
    В чем же может быть дело?
    Логи почему-то не пишутся, хотя настройка в console/config/main.php
    'queue' => [
                'class' => \yii\queue\db\Queue::class,
                // 'path' => '@console/runtime/queue',
                'as log' => \yii\queue\LogBehavior::class,
                'db' => 'db',
                'tableName' => '{{%queue}}', 
                'channel' => 'default', // Queue channel key
                'mutex' => \yii\mutex\MysqlMutex::class, // Mutex used to sync queries
  • Yii2 SluggableBehavior не генерит slug при создании объекта из очереди /queue?

    @zifmezin Автор вопроса
    С консольными вообще не работаю, кстати. Не думал, что это может повлиять.
    Всю работу веду в веб-контроллерах, и отправляю задачи, и проверяю сам код (прежде чем в задачи отправлять).
    По второму вопросу - если имеется ввиду одинаковый ли код в воркере и в контроллере - да, копи-паст.
  • Как добавлять галерею при создании поста через Wysiwyg редактор?

    @zifmezin Автор вопроса
    Спасибо, то что надо! Буду разбираться. Видимо не умею правильно строить запросы в поисковике, не находил ничего такого.