• Как правильней обрабатывать PHP скрипт с временем выполнения в 5-10 минут?

    @alvery
    Backend Developer
    Если выполнение процесса может оборваться в любой момент и вам нужно гарантировать его то я бы воспользовался очередями. Запаковываете часть вашего скрипта в консольную команду которую поставите на cron (ту часть которая отвечает за выборку пользователей для процессинга). Вторую часть, отвечающую за скачку файла по api и обновление юзера заворачиваете в консюмер на очереди. Таким образом сможете гарантировать что все ваши пользователи будут обработаны, а для тех что не завершились без ошибок (они вернутся в очередь) сможете добавить фикс для корректной их обработки.
    Все ваши воркеры (консюмеры) ставите на supervisord. Чтобы один консюмер не надрывался над вашей кучей - указываете кол-во процессов в конфиге супервизора.
    Для решения задачи со временем можно сделать 2мя способами:
    1. Во время выборки на консольной команде засылать в очередь только тех пользователей кто должен сейчас обновиться
    2. Для каждого сообщения проставляете поле время. На конюсмере проверяете это время, если рано то кидаете обратно в очередь
    Ответ написан
    Комментировать
  • Что должно быть в моделях laravel?

    @alvery
    Backend Developer
    В конструкторе у вас должны быть зависимости из контейнера или подгруженные из бд модели
    route-model-binding
    Если вам требуется реализовать CRUD с пагинацией - есть неплохая статья на эту тему (используя тот же route model binding для коллекций): laravel-route-collection-binding
    Ответ написан
    Комментировать
  • Что такое Service Container и Service Provider?

    @alvery
    Backend Developer
    Чтобы разобраться в этом одного даже развернутого ответа не хватит. Вам нужно сперва почитать про принцип инверсии зависимостей - один из принципов SOLID. Затем разобраться что из себя представляет паттерн проектирования dependency injection и как к нему вообще пришли (service locator также упоминается). И затем собственно приходим к реализации этого паттерна в laravel. Также на заметку можно взять php di библиотеку - просто другая реализация.
    Ответ написан
    Комментировать
  • Как реализовать "теги" в laravel?

    @alvery
    Backend Developer
    Ответ на ваш вопрос находится в базовом курсе laracasts fundamentals. Все коротко и по делу:
    Many to Many Relations (With Tags)
    Ответ написан
    Комментировать
  • Как мигрировать одну таблицу в laravel?

    @alvery
    Backend Developer
    Просто еще раз выполнить
    php artisan migrate
    Команда производит все незавершенные миграции. Все предыдущие выполненные миграции уже не будут запущены.
    Ответ написан
    Комментировать
  • Как развивать свои навыки ,когда нет рабочих проектов?

    @alvery
    Backend Developer
    Скорее нужно подумать о том зачем "просто так верстать", если есть рабочие проекты за деньги. Наверное в первую очередь чтобы потом было больше возможностей для вас. Возможностей, которые вы получите имея больше навыков и опыта. Поставьте себе цель - сверстать несколько хороших макетов которыми вы будете гордиться.
    Ответ написан
    Комментировать
  • Переход с Joomla на Битрикс: как лучше?

    @alvery
    Backend Developer
    1) Зависит от структуры, можно обойтись и без 301 редиректа - оно вам надо? 301 нужно использовать только в крайних случаях (страница удалена или не жалко потерять позиции по тем урлам). В битриксе настройка чпу очень гибкая.
    Согласен с тем что разработку лучше вести на дев сервере, а потом просто переключить домены
    Ответ написан
    Комментировать
  • Не стардартная структура в меню битрикс как интегрировать такую верстку?

    @alvery
    Backend Developer
    Абсолютно не имеет значения какого уровня вложенности ваше меню, важно понимать как работает компонент бус.
    CMenu::Init() инициализирует массив на основе ваших .<тип меню>.menu.php
    Далее вам нужно перестроить массив в структуру дерева, еще проверьте макс. уровень вложенности в $arParams
    Ответ написан
    Комментировать
  • Выгрузка товаров на сайт, как организовать систему?

    @alvery
    Backend Developer
    Ставите событие на cron (каждые 5 минут) и добавляете нужных агентов с интервалом 1 час.
    Посмотрите здесь: blog.d-it.ru/dev/transfer-agents-on-the-crown-the-...
    По выгрузке если форматы не совпадают с форматом ваших ИБ то наверное импорт средствами бус сделать не получится. Нужно смотреть в сторону SimpleXML
    Ответ написан
    Комментировать
  • Как при клике submit мониторить появления записей с id в бд MongoDB?

    @alvery
    Backend Developer
    Подробный пример:

    $( "#form" ).submit(function( event ) {
      
      event.preventDefault(); // отменяем событие по дефолту
      $.post( "/ajax/add.php", { $(this).serialize() }) // отсылаем ajax запрос на добавление записи
        .done(function( data ) {
          alert( "Новая запись в базе: " + data ); // Получаем из add.php ответ (id записи которую вернула база)
      });
    
    
    });
    Ответ написан
    Комментировать
  • Почему не успевают пересчитаться размеры css?

    @alvery
    Backend Developer
    Использовать таймауты не комильфо для отслеживания. Может для наглядности пришлете исходник на js fiddle? Смотрите в сторону событий on load jquery
    Ответ написан
    Комментировать
  • Почему появляется белая страница в 1с Битрикс?

    @alvery
    Backend Developer
    Вариантов почему у вас белый экран ой как много - включите отладку в /bitrix/.settings.php и все будет ясно:
    'debug' => true,
    Ответ написан
    Комментировать
  • Кто-нибудь может мне рассказать (научить) как выводить теги на битриксе (готов заплатить)?

    @alvery
    Backend Developer
    Реализуется с помощью фильтра по полю TAGS (фильтр Маска)
    dev.1c-bitrix.ru/api_help/iblock/classes/ciblockel...
    Если используется стандартный компонент то необходимо передать в GET ?arrFilter_ff[TAGS]=тег&set_filter=Y
    Вот к примеру если загуглить то на одном из сайтов реализованы теги именно так:
    https://www.mirea.ru/news/?arrFilter_ff[TAGS]=%D0%...
    Ответ написан
    Комментировать