Мы в Telegram
Добавить новость



Новости сегодня на DirectAdvert

Новости сегодня от Adwile

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

Задача

Существует веб-базированная Система для управления медиа. Необходимо реализовать локального агент, который будет взаимодействовать с Системой по 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...

Читайте на 123ru.net

Другие проекты от 123ru.net



Архангельск

МЧС: в Архангельске горит теплоход "М. В. Ломоносов", он находится на ремонте



Мир

Участники Всероссийской олимпиады школьников по математике выбрали Marins Park Hotel Нижний Новгород






103news.com — быстрее, чем Я..., самые свежие и актуальные новости Вашего города — каждый день, каждый час с ежеминутным обновлением! Мгновенная публикация на языке оригинала, без модерации и без купюр в разделе Пользователи сайта 103news.com.

Как добавить свои новости в наши трансляции? Очень просто. Достаточно отправить заявку на наш электронный адрес mail@29ru.net с указанием адреса Вашей ленты новостей в формате RSS или подать заявку на включение Вашего сайта в наш каталог через форму. После модерации заявки в течении 24 часов Ваша лента новостей начнёт транслироваться в разделе Вашего города. Все новости в нашей ленте новостей отсортированы поминутно по времени публикации, которое указано напротив каждой новости справа также как и прямая ссылка на источник информации. Если у Вас есть интересные фото Вашего города или других населённых пунктов Вашего региона мы также готовы опубликовать их в разделе Вашего города в нашем каталоге региональных сайтов, который на сегодняшний день является самым большим региональным ресурсом, охватывающим все города не только России и Украины, но ещё и Белоруссии и Абхазии. Прислать фото можно здесь. Оперативно разместить свою новость в Вашем городе можно самостоятельно через форму.

Другие популярные новости дня сегодня


Новости 24/7 Все города России





Топ 10 новостей последнего часа




Новости России

Российские учёные завершат испытания новой технологии добычи нефти в мае

"РБ Спорт": клубы РПЛ хотят сократить число участников стыковых матчей

В столице задержали двух хирургов пластической клиники

Вторая волна? Синоптик рассказал о новом похолодании в Москве


Москва

«СВЯТОЙ ЛЕНИН» помогает Государственной Думе РФ оптимизировать налоговую сферу. «СВЯТОЙ кибер ЛЕНИН» удаляет налоги: перезагрузка.






Rss.plus
Moscow.media
Москва

Сергей Собянин: Обеспечим ученикам комфортные условия



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

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

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

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

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

Пол Маккартни

«Возомнил себя Полом Маккартни?»: Соседов назвал причину творческого провала Никиты Преснякова в США




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

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

Звезды спорта. Кто они такие и почему их так называют?

Искусство продвинутого анализа в спортивном прогнозировании

Сергей Лёвкин: в Митине завершат возведение физкультурно-оздоровительного комплекса


WTA

Потапова проиграла Остапенко во втором круге турнира WTA 1000



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


ЦСКА

Гол Чалова с пенальти принес ЦСКА победу над «Зенитом» в матче РПЛ



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