Size: a a a

2019 November 05

ЮГ

Юрий Гущин in Drupal RU
Elysia Cron какой нить
источник

AS

Andrey Strelkov in Drupal RU
Вот на примере этой статьи куда получается нужно http://drupalace.ru/lesson/obrabotka-bolshogo-kolichestva-dannyh-s-pomoshchyu-queue-api
drupalace.ru
Обработка большого количества данных с помощью Queue API | Drupalace.ru
В жизни каждого программиста попадаются заказчики, которые просят сделать для их сайта обработку большого количества данных, будь то постоянное обновление товаров для магазина, парсинг xml файлов, отправка десятков тесяч емейлов и так далее. Смысл в том, что решить задачу "в лоб" просто невозможно - сервер может не выдержать; или закончится время выполнения скрипта и обработка данных прервётся; или же (в случае рассылки емейлов) ляжет почтовый сервер, или того хуже - почтовый сервер решит, что вы спамер, и ваши письма будут доходить до адресатов с большим опозданием (если вообще дойдут).

Так же заказчик, естественно, не захочет каждый день заходить на сайт и нажимать какие-то кнопки, чтобы сайт крутился. Поэтому основной задачей в данной ситуации является невмешательно человека в жизненный цикл сайта.
источник

AI

Andrei Ivnitskii in Drupal RU
Andrey Strelkov
Тут вопрос немного не в этом, у меня да, крон серверный. Я скорее не могу понять в каком месте когда вставлять проверку, что если мол сейчас день, то очередь не обрабатывай, а обычные друпаловские задачи обрабатывай
hook_cron свой смотри)
источник

AS

Andrey Strelkov in Drupal RU
Я просто так понял что это не хуке крон нужно проверку делать а в item_process
источник

AI

Andrei Ivnitskii in Drupal RU
Andrey Strelkov
Я просто так понял что это не хуке крон нужно проверку делать а в item_process
В статье другой принцип описан. Но я бы не стал дергать крон каждую минуту. Лучше, действительно, ночью серверным кроном запустить твои тяжелые операции
источник

AS

Andrey Strelkov in Drupal RU
У меня просто есть ноды которые по расписанию публикуются и снимаются с публикации, с точностью до часа
источник

AS

Andrey Strelkov in Drupal RU
Крон у меня также раз в час
источник

AS

Andrey Strelkov in Drupal RU
Или можно с нодами по другому работать в плане публикации?
источник

AI

Andrei Ivnitskii in Drupal RU
Andrey Strelkov
У меня просто есть ноды которые по расписанию публикуются и снимаются с публикации, с точностью до часа
Блин, я даже так делал: выносил нужную логику в отдельный .php файл и дергал его серверным кроном когда нужно было, не затрагивая обычный крон. Вариантов тебе уже кучу предложили
источник

VP

Vlad Proshin (drugan) in Drupal RU
Andrey Strelkov
У меня просто есть ноды которые по расписанию публикуются и снимаются с публикации, с точностью до часа
function mymodule_cron () {
 if (date('a') == 'am') {
   // С 00:00 до 12:00 часов.
 }
 else {
   // С 12:00 до 00:00 часов.
 }
}
источник

AP

Andrey Postnikov in Drupal RU
Andrey Strelkov
На D7 использую Queue API, который работает по крону, задался вопросом, как можно сделать так, чтобы очередь обрабатывалась только по ночам, то есть чтобы перебор очереди работал только ночью , а обычный крон как обычно, без ограничений
Вот нафига миксовать хрон и очередь? Драш вполне может очередь разгребать и получше хрона
источник

AP

Andrey Postnikov in Drupal RU
Vlad Proshin (drugan)
function mymodule_cron () {
 if (date('a') == 'am') {
   // С 00:00 до 12:00 часов.
 }
 else {
   // С 12:00 до 00:00 часов.
 }
}
источник

AK

Alexey Korepov in Drupal RU
Подскажите плз как лучше решить задачу с entity_reference полем по вьюшке: для обычных зареганных пользователей вьюшка выводит селектлист с ограниченным списком сущностей (автор = текущий юзер, чтобы они не могли выбрать в референсе чужой материал). А вот для админов - нужно сделать, чтобы были доступны все имеющиеся материалы (чтобы админ мог за юзеров подправлять их сущности). Каким образом это оптимальней реализовать? Альтернуть вьюшку и если у юзера есть права админа, то ручками вырезать контекстный фильтр по юзеру? Или как-то покрасивее можно?
источник

AK

Alexey Korepov in Drupal RU
Попробую попроще описать: есть node type = article, у которой есть поле  entity_reference на node type = news. Нужно юзерам дать возможность в этом поле выбирать только news где авторы они, а админам - любую news. сейчас это сделано вьюшкой, которая фильтрует news по автору текущего пользователя. Собственно, если админ заходит в редактирование чужой article, то там не может выбрать новости этого юзера (может выбрать только свои новости)
источник

ИЛ

Иван Лещёв in Drupal RU
Alexey Korepov
Попробую попроще описать: есть node type = article, у которой есть поле  entity_reference на node type = news. Нужно юзерам дать возможность в этом поле выбирать только news где авторы они, а админам - любую news. сейчас это сделано вьюшкой, которая фильтрует news по автору текущего пользователя. Собственно, если админ заходит в редактирование чужой article, то там не может выбрать новости этого юзера (может выбрать только свои новости)
альтерить надо виджет
источник

ИЛ

Иван Лещёв in Drupal RU
я для другого делал, но всё же
function en_user_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
 if (in_array($form_id, [
   'profile_manager_add_form',
   'profile_manager_edit_form',
 ])) {
   $account = $form_state->getBuildInfo()['callback_object']->getEntity()->uid->entity;
   $form["field_users"]["widget"][0]["target_id"]["#selection_settings"]["filter"]["role"] = [
     'service_center' => $account->hasRole('service_center_manager') ? 'service_center' : 0,
     'wholesale_customer' => $account->hasRole('wholesale_customer_manager') ? 'wholesale_customer' : 0,
   ];
 }
источник

ИЛ

Иван Лещёв in Drupal RU
$form["field_users"]["widget"][0]["target_id"]["#selection_settings"]["filter"]["role"]
источник

ИЛ

Иван Лещёв in Drupal RU
это переконфигурируется фильтр
источник

AK

Alexey Korepov in Drupal RU
Иван Лещёв
альтерить надо виджет
О, благодарю, довольно простое и хорошее решение!
источник

I

Igor in Drupal RU
Привет! Можно как нибудь при валидации формы использовать валидаторы симфони?
источник