НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
178 of 182 menu

Таблица workflow_scheduled_transition

Таблица workflow_scheduled_transition является частью модуля Workflow в Drupal и отвечает за хранение запланированных автоматических переходов между состояниями Workflow. Эти переходы выполняются системой по расписанию, обычно с помощью Cron.

Поля

Поле Тип данных Описание
tid int Уникальный идентификатор запланированного перехода. Первичный ключ с автоинкрементом.
entity_type varchar(255) Тип сущности, к которой применяется переход (например, node, comment, user).
nid int Идентификатор сущности, к которой применяется переход. Для узлов это nid, для комментариев - cid и т.д.
field_name varchar(255) Название поля Workflow, к которому применяется переход.
old_sid int Идентификатор текущего (старого) состояния Workflow. Внешний ключ к таблице workflow_states.
new_sid int Идентификатор нового состояния Workflow, в которое будет выполнен переход. Внешний ключ к таблице workflow_states.
uid int Идентификатор пользователя, который запланировал переход. Внешний ключ к таблице users.
scheduled int Временная метка Unix, указывающая дату и время, когда должен быть выполнен переход.
comment text Комментарий к переходу, который может быть добавлен пользователем при планировании.

Как это работает

Когда пользователь с соответствующими правами работает с контентом, имеющим Workflow, он может запланировать автоматический переход между состояниями на будущее. Например, можно запланировать публикацию материала на определенную дату или его архивирование через некоторое время после публикации.

При сохранении запланированного перехода создается запись в таблице workflow_scheduled_transition с указанием сущности, текущего и целевого состояний, времени выполнения и пользователя, инициировавшего переход.

При каждом запуске Cron система проверяет эту таблицу на наличие записей, у которых время выполнения (scheduled) меньше или равно текущему времени. Для каждой такой записи выполняется соответствующий переход Workflow, после чего запись удаляется из таблицы.

Этот механизм позволяет автоматизировать workflow-процессы без постоянного вмешательства администратора, что особенно полезно для контент-стратегий с четким графиком публикаций и архивов.

Пример SQL-запроса

Найти все запланированные переходы для узлов, которые должны выполниться в ближайшие 24 часа:

SELECT wst.*, ws_old.state as old_state, ws_new.state as new_state, u.name as username FROM workflow_scheduled_transition wst LEFT JOIN workflow_states ws_old ON wst.old_sid = ws_old.sid LEFT JOIN workflow_states ws_new ON wst.new_sid = ws_new.sid LEFT JOIN users u ON wst.uid = u.uid WHERE wst.entity_type = 'node' AND wst.scheduled BETWEEN UNIX_TIMESTAMP() AND UNIX_TIMESTAMP() + 86400 ORDER BY wst.scheduled ASC;

Смотрите также

  • таблицу workflow_states,
    которая хранит состояния Workflow
  • таблицу workflow_node_history,
    которая содержит историю переходов Workflow
  • таблицу workflow,
    которая хранит определения Workflow
  • таблицу users,
    которая содержит информацию о пользователях
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить