Мы в Telegram
Добавить новость
103news.com
Работа
Февраль
2024

Разработать python агента для операций с файлами

0

Задача

Существует веб-базированная Система для управления медиа. Необходимо реализовать локального агент, который будет взаимодействовать с Системой по REST API.

Необходимо написать скрипт для работы агента, который будет принимать запросы от Системы для скачивания файлов в локальное или сетевое местоположение по указанному пути.

Есть продуманное и подробно описанное ТЗ. Альтернативные предложения по реализации обсужаются

Основные задачи и характеристики агента

  1. Авторизация в системе и управление жизненным циклом токенов:
    1. Агент должен автоматически авторизовываться в системе, используя предоставленные учетные данные (логин и пароль) для получения accessToken и refreshToken.
    2. Агент должен автоматически обновлять accessToken, используя refreshToken, до истечения его срока действия, чтобы обеспечить непрерывный доступ к ресурсам системы без необходимости ручной переавторизации.
  2. Обработка запросов на перемещение файлов:
    1. Агент должен принимать HTTP POST запросы на скачивание файлов, содержащие информацию о имени файла и пути к директории назначения, как в локальном, так и в сетевом хранилище.
    2. Для каждого запроса агент помещает его в управляемую очередь, обрабатывая файлы в соответствии с их приоритетом и доступностью.
  3. Перемещение файлов:
    1. После получения запроса на скачивание, агент должен запросить доступ к файлу в S3, проверить его существование и доступность, а затем выполнить скачивание файла в указанную директорию.
    2. Агент должен поддерживать возможность остановки скачивания на любом этапе, если поступит соответствующая команда от системы.
  4. Отправка результатов выполнения операции:
    1. После каждой операции скачивания, агент должен отправлять в систему отчет о статусе операции (успех, ошибка), включая детали ошибки, если таковая произошла.
  5. Логирование:
    1. Агент должен вести детализированный журнал своей работы, включая информацию о полученных запросах, процессе скачивания, возникших ошибках и изменении статусов операций. Логи должны быть доступны для анализа в случае необходимости диагностики или отладки.
  6. Обработка изменений приоритета скачивания:
    1. Система может отправлять агенту запросы на изменение приоритета уже запланированных к скачиванию файлов. Агент должен уметь динамически изменять порядок обработки файлов в своей очереди в соответствии с новыми приоритетами.
  7. Проверка доступа локальным и к сетевым дискам
    1. Система может отправлять агенту запросы на проверку доступа к местоположениям, расположенным по сетевому адресу, предоставляя ip, путь, логин и пароль. Агент должен поддерживать механизм проверки аутентификационных данных (логин и пароль), предоставленных пользователем для доступа к сетевым ресурсам. Это включает в себя валидацию предоставленных учетных данных посредством попытки установления соединения с указанным ресурсом перед выполнением операций скачивания. В случае неудачи аутентификации, агент должен немедленно уведомить систему о невозможности доступа, предоставив соответствующий код ошибки и описание проблемы.
      Помимо авторизации, необходимо убедиться, что указанный путь существует и доступен для операций чтения/записи. Это включает в себя проверку наличия целевой директории или файла по сетевому адресу. В зависимости от используемой операционной системы и инструментов, процесс может немного отличаться, но общий принцип следующий:
    2. Система также может запрашивать у агента проверку доступности локальных ресурсов. В этом контексте агент обязан поддерживать функционал для проверки доступности указанных локальных путей, убедившись, что они доступны для чтения и записи перед выполнением заданий по скачиванию или загрузке файлов

Алгоритм работы

  1. Получить accessToken и refreshToken из эндпоинта системы: /test/api/auth/login
  2. Ожидать получения запроса на скачивание файла с указанным именем файла и именем директории.
    1. Полученный запрос положить в конец очереди сообщений. В случае, если у сообщений в очереди одинаковый приоритет - очередь работает в режиме FIFO.
  3. Проверять очередь сообщений на наличие новых сообщений. Первым брать в работу сообщение с наивысшим приоритетом.
  4. Запросить ссылку на файл из S3.
  5. Проверяем существование файла в S3.
    1. Если файл не существует - вернуть соответствующую ошибку.
  6. Проверить доступность директории.
    1. Если директория недоступна - вернуть соответствующую ошибку.
  7. Выполнить скачивание если п. 4.1 и 5.1 не вызывают ошибок.
    1. Если в директории уже существовал файл с таким названием - перезаписать его.
  8. После завершения скачивания вернуть сообщение об успехе или ошибку.
  9. Логировать успешное скачивание или ошибки при работе скрипта.

    С полным ТЗ можно ознакомиться по ссылке: https://docs.google.com/document/d/13t3RdXOSzSVsIK...





Губернаторы России
Москва

Собянин: В июне в Москве пройдет цикл мероприятий для собак и их владельцев





Москва

В Подмосковье сотрудники Росгвардии задержали подозреваемого в краже товаров из магазина


Губернаторы России

103news.net – это самые свежие новости из регионов и со всего мира в прямом эфире 24 часа в сутки 7 дней в неделю на всех языках мира без цензуры и предвзятости редактора. Не новости делают нас, а мы – делаем новости. Наши новости опубликованы живыми людьми в формате онлайн. Вы всегда можете добавить свои новости сиюминутно – здесь и прочитать их тут же и – сейчас в России, в Украине и в мире по темам в режиме 24/7 ежесекундно. А теперь ещё - регионы, Крым, Москва и Россия.

Moscow.media
Москва

Собянин: трасса из Солнцева до Варшавского шоссе откроется в 2026 году



103news.comмеждународная интерактивная информационная сеть (ежеминутные новости с ежедневным интелектуальным архивом). Только у нас — все главные новости дня без политической цензуры. "103 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. 103news.com — облегчённая версия старейшего обозревателя новостей 123ru.net.

Мы не навязываем Вам своё видение, мы даём Вам объективный срез событий дня без цензуры и без купюр. Новости, какие они есть — онлайн (с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии).

103news.com — живые новости в прямом эфире!

В любую минуту Вы можете добавить свою новость мгновенно — здесь.

Музыкальные новости

Олег Лундстрем

«Борис Фрумкин – 80!»: Государственный камерный оркестр джазовой музыки имени Олега Лундстрема отпраздновал юбилей своего худрука большим концертом




Спорт в России и мире

Алексей Смирнов – актер, которого, надеюсь, еще не забыли

ЦСКА разорвал дистанцию // Армейцы увеличили преимущество в финальной серии Единой лиги ВТБ

Бойцовская лига «Наше Дело» представит спортивную зону на Дне России

ТАСС: Паралимпийский комитет России провел урок и мастер-классы для участников СВО


Дарья Касаткина

Касаткина о романе Синнера и Калинской: рада, больше ничего не хочу говорить



Новости Крыма на Sevpoisk.ru


Москва

В Подмосковье сотрудники Росгвардии задержали подозреваемого в краже товаров из магазина



Частные объявления в Вашем городе, в Вашем регионе и в России