Труконф возглавил рейтинг ВКС-разработчиков
Вернуться

Как автоматически очищать завершившиеся конференции

2 мин.

В стандартном функционале сервера отсутствует возможность автоматически удалять завершившиеся конференции. Но это можно сделать с помощью периодически запускаемой программы, использующей TrueConf Server API.

О том, что представляет собой API сервера и как с ним работать, подробно рассказано в статье “Как начать работу с TrueConf API”.

Постановка задачи

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

Следует принять во внимание, что нельзя просто удалить все мероприятия со статусом “остановлено”, потому что его имеют все неактивные конференции, независимо от того, запускались ли они хоть раз до этого. Более того, надо не учитывать те из них, у которых настроен периодический запуск, например, раз в неделю, ведь они ещё могут быть необходимы в дальнейшем.

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

Ознакомиться с примером кода с поддержкой описанного алгоритма можно на нашем GitHub.

Шаг 1. Вычисление даты и времени для удаления

Вычислите дату, старше которой требуется удалить конференции. Для этого отнимите необходимое количество дней от текущей даты. Полученный результат требуется перевести в формат Unix Timestamp. Например, если надо удалить конференции, завершившиеся до 1.06.2021 00:00 МСК, то получим число 1622494800.

Шаг 2. Получение списка конференций

Получите список конференций с помощью GET-метода Get Conference List, указав дополнительный параметр state=stopped (статус – остановлена).

В ответ вы получите JSON со списком объектов Conference.

Шаг 3. Поиск конференций для удаления

У каждой конференции из полученного списка:

  1. Проверьте тип запуска в объекте Schedule (должен быть "type":1 – одноразовый запуск).
  2. Если время окончания конференции (время старта start_time плюс продолжительность duration) меньше полученного на шаге 1 значения, то запомните её ID и переходите к следующему шагу.

Шаг 4. Удаление конференции

Удалите конференцию с помощью DELETE-запроса Delete Conference, указав её ID.

Если вы создаёте конференции с помощью API-запроса Create Conference и желаете удалить не все завершившиеся конференции, вы можете уменьшить размер списка из шага 2. Для этого создавайте мероприятия, требующие удаления, с определённым тегом. Например, задавая параметр "tags":["delete"]. Тогда на 2 шаге алгоритма вы можете использовать параметр tag=delete для уточнения списка завершившихся конференций.

Предыдущая статья Следующая статья
Содержание

Попробуйте безопасную ВКС-платформу Труконф!

ВКС-решение TrueConf Server работает внутри вашей закрытой сети без подключения к интернету
и позволяет собирать до 1500 человек в одной конференции!

Труконф

Крупнейшее ВКС-сообщество в России

Живой диалог с разработчиками, помощь с настройкой ВКС-систем, полезные материалы, ранние доступы и бета-версии — всё в специальном чате @trueconf_talks.

Подписаться
Видео+Конференция

Актуальные новости из мира ВКС

Подписывайтесь на канал нашего информационного партнёра «Видео+Конференция», чтобы быть в курсе последних новостей в сфере видеоконференцсвязи и AV-оборудования.

Подписаться Перейти на сайт

Содержание