Задать вопрос
  • Может ли RabbitMQ запускать процессы для обработки очередей?

    а если процессы упадут из-за ошибки, то очередь остановится

    Да. Вот за жизнью процессов и следит оркестратор.
    Как сделать чтобы N не превышало число писем в очереди? Чтобы процессы зря не висели.

    Какая разница? Пусть висят. В режиме ожидания они потребляют память, а не процессор. И несложно догадаться, что N не имеет смысла делать больше, чем доступно процессорных ядер, так что и суммарное потребление памяти тоже будет незначительным.
    Написано
  • Почему array_count_values возвращает пустой массив?

    И что значит "я уверен что код работал не так

    Это видно из сочетания функций и содержимого переменных. И сомнительно, что в $object_types раньше была какая-то другая структура; то, что сейчас вполне соответсвует названию переменной.
    Может имеет смысл показать полностью цикл, внутри которого эта функция?

    Elena_11, да, покажите.
    Написано
  • Почему array_count_values возвращает пустой массив?

    это скрин с фронта

    Elena_11, зачем нам тут скриншот, если мы работаем с кодом или текстом сообщений? Когда текст - нарисованный, это очень неудобно
    Написано
  • Почему array_count_values возвращает пустой массив?

    Elena_11, надо было попросить Вас использовать var_export(), но и так сойдет.
    Я уверен, что раньше код работал не так. В переменной $object_types сейчас вот это:
    $object_types = [
        "newbuildings" => "Новостройки",
        "flat" => "Квартиры, апартаменты",
        "house" => "Дома, виллы, коттеджи",
        "condominiums" => "Кондоминиумы",
        "arenda" => "Квартиры под аренду",
        "land" => "Земельные участки",
        "islands" => "Острова",
        "chalet" => "Шале",
        "castle" => "Замки",
        "townhouse" => "Таунхаусы",
    ];

    array_column($object_types, $value) вернёт пустой массив, потому что первый аргумент должен быть массивом массивов. Я догадываюсь, что тут должно быть такое:
    $objects = [
        ['type' => 'townhouse'],
        ['type' => 'castle'],
        ['type' => 'townhouse'],
        // и ещё куча объектов
    ];
    $count = array_count_values(array_column($objects, 'type'));

    или более дурацкий вариант:
    $objects = [
        ['townhouse' => true],
        ['castle' => true],
        ['townhouse' => true],
        // и ещё куча объектов
    ];
    $count = array_count_values(array_column($objects, $value));
    Написано
  • Какие у битрикса требования к серверу?

    Уже больше похоже просто на хейт, чем на конструктив.

    Нисколько не хейт, а трезвая оценка ситуации. Я достаточно много вложил усилий в изучение Битрикса, и рациональным является ожидание, что эти усилия окупятся более быстрой разработкой. Но по факту я вижу, что чем дальше, тем меньше в моём коде доля Битрикса ( коробочные компоненты, коробочные функции) и больше доля моего кода. Набранный после субъективного "среднего уровня" опыт только помогает мне не долбиться часами в стену там, где у Битрикса "никак"; быстрее отсекать заведомо нерабочие или тормозные варианты.
    модно то твиг, то блейд

    Дело не в моде. Хороший шаблонизатор должен экономить усилия разработчика. Голый PHP их по определению не экономит. Smarty не экономит, потому что это "PHP на PHP". Блейд мне кое-где экономит - то есть он определённо лучше, чем голый PHP.
    Не давать ставить обновления без лицензии тоже нормальное решение, тк модуль может использовать что-то новое из ядра, что приведет к проблемам. Да и не обновлять битрикс не вижу смысла, кроме крохоборства.

    Вы тут смешиваете две вещи: зависимости модулей и возможность установки. Заказчику сложновато объяснить, что вот есть бесплатный модуль в Маркетплейсе, который решает его задачу, но поставить его нельзя, потому что лицензия истекла неделю назад, и надо отстегнуть ещё 20 тысяч за её продление.
    И бывают заказчики, которые год не обновляли ядро, зато модули из Маркетплейса обновляют регулярно. Например, модуль интеграции с Яндекс.Маркетом. Это я к тому, что зависимость от определённой версии модулей ядра - не такая уж распространённая штука ( у самого Битрикса взаимные зависмости сильные, при установке обновлений это хорошо видно ).
    Никто адекватный не будет об этом писать, тк это раскрытие этой уязвимости в паблике и тут же побегут её использовать.

    Это вы так скопом Microsoft, Google и подобных неадекватами назвали? Как раз все адекватные об устранённых уязвимостях пишут, это побуждает пользователей ставить обновления.
    Написать о наличии уязвимости и дать эксплойт это не одно и то же.
    Аспро вот, когда у них в начале года уязвимость нашли, не постеснялась об этом написать. Даже дали инструмент ( плохонький, правда) для тех, у кого лицензия (аспрошная) кончилась.
    Написано
  • Как в Битрикс сформировать динамические мета инфоблока в разделе SEO, используя код в настройках инфоблока?

    если бы это свойство было заполнено у всех элементов каталога, то задачу можно было бы решить без кода:
    https://dev.1c-bitrix.ru/learning/course/?COURSE_I...
    Условного оператора там, к сожалению, нет. Можете соорудить своё: https://estrin.pw/bitrix-d7-snippets/s/iblock-inhe...
    Написано
  • Как разбить строку оператором explode?

    geometria, тогда тут регулярка нужна:
    <?php
    $niceLinks = '<a href="http://example.com/file9, http://example.com/file10, http://example.com/file11, http://example.com/file12, ">jpeg, jpeg, jpeg, jpeg, </a>';
    $links = [];
    $matches = [];
    if ( preg_match('#<a href="([^"]+)">([^<]+)</a>#', $niceLinks, $matches) ) {
        $urls = explode(', ', $matches[1]);
        $extensions = explode(', ', $matches[2]);
        foreach ($urls as $k => $url) {
            if ( empty($url) ) {
                continue;
            }
            $links[] = "<a href=\"$url\">{$extensions[$k]}</a>";
        }
    }
    echo '<pre>', var_export($links, true), '</pre>';
    Написано
  • Какие у битрикса требования к серверу?

    У вас была бы такая же борьба с другими CMS

    Сергей, значит, они не хуже. То есть в этой части мой тезис "у Битрикса нет преимуществ" подтверждается.
    В битриксе самая удобная система шаблонов и шаблонов компонентов

    в Битриксе шаблонизатор - голый PHP. Это не минус, но и не плюс. Лично мне шаблоны blade нравятся больше.
    удобная админка

    Вы вообще писали когда-нибудь страницы админки? До гридов там вообще был ад и израиль. И с гридами не всё шоколадно - попробуйте, например, сделать общий (то есть по любой колонке) поиск, когда часть столбцов содержит не сами данные, а ID связей с другими таблицами. Вы там всё проклянёте.
    огромное количество встроенных компонентов

    Вот только их этого огромного количества реально в проектах используется небольшая часть, для самых типовых задач:
    1. меню,
    2. регистрация,
    3. авторизация,
    4. список разделов,
    5. список элементов,
    6. элемент детально,
    7. товар детально,
    8. фильтр каталога,
    9. корзина,
    10. оформление заказа.

    Обычно в этом месте возражают что-то типа такого "если вы берёте фреймворк, то там такое надо писать самому, а тут готовое из коробки". Не спорю, нужно - но любая адекватная студия разработки делает это один раз, а потом переиспользует. Так что это так себе аргумент. Если вы только ворвались в веб-разработку, у вас своего ничего нет, готовые компоненты будут плюсом, да.
    Хорошая связь с 1С.

    Коробочный импорт настолько отстойный, что на проектах более-менее ощутимого размера его приходится заменять на свою реализацию.
    И на других CMS обмен с 1C тоже есть, я где-то встречал.
    следить за обновлениями этих модулей, общаться с тп каждого модуля отдельно

    В Битриксе надо делать то же самое, представляете? Если покупать модули из Макетплейса. И, кстати, Вы не можете ставить обновления из Маркетплейса, если лицензия на Битрикс истекла - даже если обновления самого Битрикса вроде бы не нужны.
    А ещё в Битриксе не пишут в описании обновлений, что они закрыли какую-то уязвимость.
    Написано
  • Как сгенерировать ssl для www?

    Надеюсь, сертификат у вас бесплатный, от Let's Encrypt ? Проверьте содержимое файлов ~/dehydrated/domains.txt , ~/dehydrated/domains/*.txt . Там должна быть строчка:
    site.ru www.site.ru

    Если не так - исправьте и запустите перевыпуск сертификата.

    Либо потыкайтесь в menu.sh , который автоматом запускается при входе под рутом.
    Написано
  • Какие у битрикса требования к серверу?

    Сергей, я с Битркисом работаю уже много лет ( застал переход на Компоненты 2.0, если Вам это что-то говорит). И именно в последние годы заметил, что код, который я пишу:
    1) если он специфичен для Битрикса - это борьба с каким-то проблемами самого Битрикса,
    2) остальное имеет аналоги в других CMS/CMF - в том смысле, что там на получение того же результата я потратил бы столько же времени. То есть Битрикс не помогает мне создавать сайт быстрее.

    Я не говорю, что Битрикс плохой. Я говорю, что у него нет преимуществ, при этом он платный и не очень быстрый.
    Написано
  • Как вывести данные из связанной таблицы?

    Khetag_d, Вам в первую очередь надо понять, что если до вот этих строчек:
    header('Content-Type: application/json');
    echo json_encode($books, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

    произойдёт ошибка, то Content-Type будет вовсе не application/json, а дефолтный text/html , да и содержимое будет обычным текстом.
    А ошибиться можно массой способов
    Написано
  • Как упростить и убыстрить процесс переноса правок с docker на прод?

    Вадим Яндутов, если уж Вы /uploads переносите через rsync , то почему дамп базы не переносите так же? И то, и и то не должно попадать в гит по одинаковой причине.
    Смотрите, как это вижу я:
    1) есть тема Wordpress. Она в гите, тут вопросов нет
    2) есть частные интеграции этой темы в виде сайтов заказчиков. Интеграция состоит из:
    а) темы,
    б) (на старте) чистой инсталляции Wordpress,
    в) плагинов, добавленных заказчиком,
    г) файлов, добавленных заказчиком,
    д) данных в БД, добавленных заказчиком,
    е) конфигурации ( в частности, какие-то изменения в .htaccess) .

    При этом в гите, по-хорошему, должен отслеживаться только пункт 2.а - то есть частные доработки темы специально под этого заказчика. А остальное - чем-то автоматизировано (и это "что-то" под капотом может использовать rsync как транспорт ).

    Это всё к тому, что на вопрос из заголовка ответ даже с ручными манипуляциями сводится к:
    git pull && wp dbi migrate
    ( для миграций можно и другой плагин поискать, я посмотрел первый попавшийся )
    но только при правильном разделении, что есть что.
    Написано
  • Возможно ли задать подсказку в phpstorme для возвращаемого типа?

    присоединяюсь. Разнобой в возвращаемых типах - это одни проблемы. Сделайте единообразно:
    /**
         * @param CommandInterface[] $commands
         * @return OperationInterface[]
         * @throws PropagationStoppedException
         * @throws CommandBusException
         */
        public function dispatchList(array $commands): array ;
        /**
         * @param CommandInterface $command
         * @return OperationInterface
         * @throws PropagationStoppedException
         * @throws CommandBusException
         */
        public function dispatch(CommandInterface $command): OperationInterface ;

    и будет счастье
    Написано
  • Как сделать на сайте цитаты, как в Telegram?

    opp2021, во-первых, есть атрибут style. Но чаще цветовые темы делают через классы-модификаторы:
    <div class="telegram-quote telegram-quote_red">
      <p>Никогда такого не было, и вот опять.</p>
    </div>

    Выбор расцветок при этом ограничен и задан в CSS
    Написано
  • Форма ввода с использованием ajax. Не работает на сайте, как исправить?

    исходный код страницы сайта смотрели - там есть код вашей формы?
    Если есть - консоль браузера проверяли? ( может, там конфликт jQuery или ещё что)
    Написано
  • Почему в среде разработки Laravel работает медленно?

    а на каком железе Вы всё это запускаете?
    Написано
  • Не работает автозапуск бизнес-процессов в Битрикс при добавлении элемента, как исправить?

    Этот код нужно возможно к какой-то кнопке привязать и сделать какой-то onclick или как-то еще запустить?

    То, что Вы привели - это готовый пример. В нём создаётся элемент инфоблока, а потом запускается бизнес-процесс.
    Если нужно запускать бизнес-процесс только при создании элемента - вероятно, его запуск надо засунуть в обработчик создания элемента инфоблока.

    И я не думаю, что тут нужен id инфоблока,он же однозначно по элементу определяется. Но могу ошибаться
    Написано
  • Как сделать сортировку по кастомному полю в Битрикс cms?

    Давид, вот есть курс "Разработчик Bitrix Framework". Или наймите кого-то на стороне, кто сделает.
    Написано
  • Как настроить 301 редирект .htaccess: www на без www?

    есть ещё такой формат записи, попробуйте:
    RewriteCond %{HTTP_HOST} =www.mysite.ru [NC]
    и вначале блок:
    <IfModule mod_php5.c>
      php_flag allow_call_time_pass_reference 1
      php_flag session.use_trans_sid off
      #php_value display_errors 1
      #php_value mbstring.internal_encoding UTF-8
    </IfModule>

    У Вас до сих пор PHP 5 ? Если уже перешли на современную версию, выкиньте этот блок
    Написано
  • Как в Wordpress правильно сделать 404 в своём плагине?

    Mausglov
    @Mausglov Автор вопроса
    yarovikov, я просто убрал первые 2 строчки. Страница выглядит корректно, HTTP заголовок статуса правильный.
    Написано