Задать вопрос
  • Как вывести основной раздел инфоблока и его элементы?

    по-хорошему, все эти подразделы не нужны. Нагрузка, размер колёс и всё остальное - это свойства элементов, в публичной части можно использовать штатный комплексный компонент каталога, в котором есть коробочный фильтр.
    А если нужны отдельные страницы с ЧПУ - например, "найнеры", то есть решение типа этого
  • Как в Drupal 10 массово проставить noindex для >1000 страниц?

    а что Вас сдерживает? для скрипта 1000 записей - мелочь
  • Как принять данные от JQuery.ajax на сервере php?

    EvgenyApMr, что-то мне подсказывает, что если сделать так:
    - $data = stripcslashes($_POST['form']['dataJSON']);
    + echo $_POST['form']['dataJSON']; die();
    $dataJS = json_decode($data, true);
    echo "res: ".$dataJS['day'];

    то никаких ненужных слешей Вы не увидите. Значит, и добавлять строчку со stripcslashes() было не нужно.
    (мою отладку потом, разумеется, тоже нужно убрать)
  • Как принять данные от JQuery.ajax на сервере php?

    EvgenyApMr, легко. Удалите строку с stripcslashes() в своём редакторе кода.
  • Регулярное выражение поиск по группам или нет?

    Виктор,
    добавление \K стирает то, что не в группе,

    Оно ничего не стирает, а делает сброс буфера. Так что это одноразовый приём.

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

    я бы хранил результаты как поля в той сущности, над которой Вы запускаете БП. Например, у меня есть сущность "заявка" - элемент инфоблока, у этого инфоблока есть свойство "статус". Один БП отработал, поменяв значение свойства. Другой БП запустился - если значение свойства "статус" == X, то что-то сделал и поменял "статус" на новое значение.
    Но у меня вот так построено; может, Вам не подойдёт.
  • Почему пишет что нет сайта если он есть?

    я даже на ноутбуке не могу прочитать, что там на скриншоте изображено...
  • Почему возникает JSON error: Syntax error [4]?

    Александр, продублируйте в ответ к вопросу, пожалуйста.
  • Регулярное выражение поиск по группам или нет?

    Jimm24, решение от dodo512 прикольное, но для более сложных случаев посмотрите выдачу про "regex незахватывающие группы"
  • Как понять, что все сообщения в очереди обработаны?

    Mausglov
    @Mausglov Автор вопроса
    Что подразумевается под агрегатными задачами?

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

    Mausglov
    @Mausglov Автор вопроса
    Vitsliputsli,
    Также, из-за того что эти задания не предназначены определенному воркеру, то один воркер может обработать 2 задания-стопера

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

    Mausglov
    @Mausglov Автор вопроса
    Vitsliputsli,
    В варианте с заданием-стопером вы создаете зависимость между брокером и воркерами, брокер должен всегда точно знать сколько работает воркеров.

    Нет, брокер (beanstalkd) знает, сколько воркеров, но не умеет ставить задания. ( не буду дальше позориться и рассказывать устройство, и так вижу, что тут коряво вышло) . Но Вы правы, тут могла быть проблема из-за несоответствия количества воркеров и заданий-стопперов в очереди.

    Теперь вижу, что подход в целом неверный. Если я боюсь утечек памяти, надо было брать пример с Апача: Менеджер мониторит количество воркеров и запускает новые, если нужно, а воркер обрабатывает фиксированное число заданий ( тысячу, 10 тысяч ) и завершается. Если хочется принудельно завершить воркера, надо смотреть в сторону сигналов.
  • Как понять, что все сообщения в очереди обработаны?

    Mausglov
    @Mausglov Автор вопроса
    Vitsliputsli,
    Или, например, некий менеджер, который будет собирать информацию с воркеров

    Этот момент мне неясен. В моём представлении, это так:
    1) есть некое оперативное хранилище ( например, Redis )
    2) Паблишер туда пишет: "я поставил N заданий". И закончил работу.
    3) Каждый Воркер в то же хранилище пишет свой инкрементный счётчик, сколько заданий он сделал.
    4) Менеджер работает параллельно воркерам и считает сумму их счётчиков. Как только сумма сошлась с числом от паблишера, все задания обработаны.
    Так?
  • Переписать грамотнее и с помощью Laravel реально ли и каким лучше образом?

    Adamos, классический набор "title, meta description,h1, текст" никуда не делся. Микроразметка тоже важна. Мой опыт взаимодействия с сайтами на реактивных фреймворках таков:
    Во-первых, их было мало, по пальцам одной руки можно сосчитать.
    Во-вторых, внутри это выглядело так:
    • минимальная разметка head, одинаковая для всех страниц,
    • пустой body,
    • запуск приложения.

    Один из проектов потом точно смог в SSR, но страница оказалась забита то ли чудовищным количеством data-атрибутов, то ли монструозным Javascript - не помню подробностей, но показатели PageSpeed упали до плинтуса.
    Возможно, сейчас подобные проекты ещё на старте переводятся в режим "только консультации", поэтому я о них ничего и не слышу. А может, им неинтересно SEO.
  • Переписать грамотнее и с помощью Laravel реально ли и каким лучше образом?

    Adamos, я нигде не предлагал начинать с PHP 4 , посмотрите ещё раз.
    Ни одному сайту из сделанных мной за последние годы никакая SEO, за отсутствием публичной части, просто не требовалась.

    Это Ваш личный опыт. Мой полностью противоположный - магазины и сайты услуг.
  • Как подключиться из PHP к memcached с использованием socket?

    Евгений Николаев, а попробуйте PHP кодом посмотреть содержимое. /tmp Если там пусто - то это ещё может быть влияение privateTmp в systemd
  • Можно ли создать базу данных на одной таблице?

    Вы немножко промахнулись с датами :) JSON только появился в 2006-м. Первый релиз MongoDB был в 2009-м. Поддержка (довольно сырая) этого типа в MySQL появилась в 2015-м.

    Но в главном Вы правы - EAV в продуктовой разработке нежизнеспособен, особенно при фильтрации по нескольким условиям.
  • Переписать грамотнее и с помощью Laravel реально ли и каким лучше образом?

    Adamos,
    И после всей этой небыстрой эволюции сунуться в реальный мир и обнаружить, что динозавры к этому времени уже вымерли

    На то, что я предложил при выборе направления "бэкенд", и в том формате освоения, который я предложил, нужна неделя. Динозавры так быстро не вымирают :)
    А к тем, кто делает всё на реактивных фреймворках, приходит заказчик с SEO оптимизатором и заставляют переделывать. И только особо изворотливые могут убедить заказчика потратиться на отдельный сервер ради SSR .
    Я не сторонник обучения "давайте бросим в воду, есть шанс, что выплывет". Очень многие не выплывают, и собеседовать их - сплошное разочарование. Предпочитаю закладывать хороший фундамент, и только потом двигаться дальше.
  • Переписать грамотнее и с помощью Laravel реально ли и каким лучше образом?

    EpIvIaK,
    Говорили, что смешивать <?php?> html <?php?> html плохо

    Плохо, когда у Вас там (в php) логика. Например: на странице блок новостей, и когда разметка дошла до этого блока, Вы ставите открывающий php тег, по куче условий строите запрос к БД, достаёте новости, к новостям миниатюры... И через 1-2 страницы кода продолжаете строить разметку, как ни в чём не бывало. ( а посторонний человек уже забыл, где мы и для чего).
    Когда PHP используется как шаблонизатор - это не очень удобно, но нормально. Посмотрите на Smarty, один из старейших PHP шаблонизаторов ( до сих пор жив, кстати). Там очень многое выглядит как замена шила на мыло.
  • Переписать грамотнее и с помощью Laravel реально ли и каким лучше образом?

    EpIvIaK,
    Я правильно понимаю, что тут сводится речь к тому чтоб в отдельном файле js держать
    это? Т.е об этом речь?

    Нет. Разделение HTML и JS в разные файлы хорошо, но это другое. Название функции validate заставляет предположить, что Вы там проверяете пользовательский ввод. Аргументов функция не принимает ( по сигнатуре). Что Вы будете делать, когда появится ещё одна форма на странице, с совершенно другим содержимым? Или, более наглядно: допустим, у Вас уже есть эта другая форма на другой странице, и тоже есть функция validate() , но с другими проверками. Вы решили эту часть с формой продублировать на первую страницу. Понимаете, что произойдёт?

    Короче: если функция нужна только форме, зачем её пихать в глобальную область видимости ( == делать полем объекта window) ? Переделайте в function expression и засуньте в анонимный обработчик для события DOM Ready. Обработчик замкнёт контекст, и будет хорошо.