nightly-scripts


Namenightly-scripts JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryНочные скрипты
upload_time2024-10-11 05:53:22
maintainerNone
docs_urlNone
authorBARS Group
requires_pythonNone
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Проект "Ночные скрипты"

По мере развития любого проекта необходимо заботиться о состоянии развернутого приложения в проде. Должны выполняться 
такие задачи, как:

- Очистка устаревших файлов;
- Зачистка служебных записей по истечении времени хранения;
- Иные служебные задачи.

Данный пакет предоставляет довольно простую функцию - запуск Django-команд помеченных атрибутом `nightly_script = True`.
В основе лежит команда `execute_nightly_scripts`, которая осуществляет запуск ночных скриптов. Данная команда должна 
запускаться по cron-у или другим аналогичным средством.

## Требования к окружению

Для работы требуется Python >=3.9. Так же в зависимостях есть пакеты:

- Django>=3.2.

Версии всех пакетов уточнены в файлах с зависимостями.

## Параметры конфигурационного файла

В разных проектах существуют различные способы добавления настроек, где-то через плагины, где-то напрямую в settings.py.
Будет рассмотрен подход указания настроек в settings.py и указания параметров в конфигурационном файле.

Для возможности конфигурирования необходимо проделать ряд действий:

- Добавить пакет `nightly_scripts` в INSTALLED_APPS в settings.py:
    ```
    INSTALLED_APPS = (
        <some_app>,
        ...,
        'nightly_scripts',
    )
    ```

## Сборка и распространение

Сборка пакета производится при помощи [Job-а в Jenkins M3.build_dist](http://jenkins.py.bars.group/view/PY/job/M3.packages/job/M3.build_dist/).

Пакет выкладывается в глобальный [PYPI](https://pypi.org/project/edu-rdm-integration/) и во внутренний [Nexus](http://nexus.py.bars.group/#browse/browse:pypi-edu-private:edu-rdm-integration) 

## Документация

С документацией можно ознакомиться по ссылке http://docs.py.bars.group/nigtly-scripts/
# История изменений

Все изменения проекта должны быть отражены в этом файле.

Формат основан на [Keep a Changelog](http://keepachangelog.com/)
и проект следует [Семантическому версионированию](http://semver.org/).

## [x.y.z] - гггг-мм-дд

Здесь должно быть расширенное описание того, что было сделано, какие есть планы у команды по дальнейшему развитию.
Желательно будущие цели привязывать к конкретным задачам. Т.е. на каждую цель нужно поставить отдельную задачу и
отразить ее номер здесь.

### Добавлено

- [ПРОЕКТ-ZZZZ](https://jira.bars.group/browse/ПРОЕКТ-ZZZZ)
  PATCH Название задачи или изменения.

- [ПРОЕКТ-YYYY](https://jira.bars.group/browse/ПРОЕКТ-YYYY)
  MINOR Название задачи или изменения.

- [ПРОЕКТ-XXXX](https://jira.bars.group/browse/ПРОЕКТ-XXXX)
  MAJOR Название задачи или изменения.

### Изменено

### Исправлено

### Удалено


## [0.1.0] - 2024-10-10

Инициализация проекта.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "nightly-scripts",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "BARS Group",
    "author_email": "bars@bars.group",
    "download_url": "https://files.pythonhosted.org/packages/6a/74/a47e1c5f185729a67eec849049065e113bddf641f7c3067b132fcc2dda33/nightly-scripts-0.1.0.tar.gz",
    "platform": "Any",
    "description": "# \u041f\u0440\u043e\u0435\u043a\u0442 \"\u041d\u043e\u0447\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b\"\n\n\u041f\u043e \u043c\u0435\u0440\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f \u043b\u044e\u0431\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0431\u043e\u0442\u0438\u0442\u044c\u0441\u044f \u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u043f\u0440\u043e\u0434\u0435. \u0414\u043e\u043b\u0436\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \n\u0442\u0430\u043a\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u0430\u043a:\n\n- \u041e\u0447\u0438\u0441\u0442\u043a\u0430 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445 \u0444\u0430\u0439\u043b\u043e\u0432;\n- \u0417\u0430\u0447\u0438\u0441\u0442\u043a\u0430 \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043f\u043e \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f;\n- \u0418\u043d\u044b\u0435 \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438.\n\n\u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e - \u0437\u0430\u043f\u0443\u0441\u043a Django-\u043a\u043e\u043c\u0430\u043d\u0434 \u043f\u043e\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u0445 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u043e\u043c `nightly_script = True`.\n\u0412 \u043e\u0441\u043d\u043e\u0432\u0435 \u043b\u0435\u0436\u0438\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 `execute_nightly_scripts`, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a \u043d\u043e\u0447\u043d\u044b\u0445 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432. \u0414\u0430\u043d\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \n\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u043f\u043e cron-\u0443 \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u043c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c.\n\n## \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044e\n\n\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f Python >=3.9. \u0422\u0430\u043a \u0436\u0435 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044f\u0445 \u0435\u0441\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b:\n\n- Django>=3.2.\n\n\u0412\u0435\u0440\u0441\u0438\u0438 \u0432\u0441\u0435\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0443\u0442\u043e\u0447\u043d\u0435\u043d\u044b \u0432 \u0444\u0430\u0439\u043b\u0430\u0445 \u0441 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044f\u043c\u0438.\n\n## \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430\n\n\u0412 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a, \u0433\u0434\u0435-\u0442\u043e \u0447\u0435\u0440\u0435\u0437 \u043f\u043b\u0430\u0433\u0438\u043d\u044b, \u0433\u0434\u0435-\u0442\u043e \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 settings.py.\n\u0411\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u043f\u043e\u0434\u0445\u043e\u0434 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0432 settings.py \u0438 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435.\n\n\u0414\u043b\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u0442\u044c \u0440\u044f\u0434 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439:\n\n- \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442 `nightly_scripts` \u0432 INSTALLED_APPS \u0432 settings.py:\n    ```\n    INSTALLED_APPS = (\n        <some_app>,\n        ...,\n        'nightly_scripts',\n    )\n    ```\n\n## \u0421\u0431\u043e\u0440\u043a\u0430 \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u0435\n\n\u0421\u0431\u043e\u0440\u043a\u0430 \u043f\u0430\u043a\u0435\u0442\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 [Job-\u0430 \u0432 Jenkins M3.build_dist](http://jenkins.py.bars.group/view/PY/job/M3.packages/job/M3.build_dist/).\n\n\u041f\u0430\u043a\u0435\u0442 \u0432\u044b\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 [PYPI](https://pypi.org/project/edu-rdm-integration/) \u0438 \u0432\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 [Nexus](http://nexus.py.bars.group/#browse/browse:pypi-edu-private:edu-rdm-integration) \n\n## \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f\n\n\u0421 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 http://docs.py.bars.group/nigtly-scripts/\n# \u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439\n\n\u0412\u0441\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0442\u0440\u0430\u0436\u0435\u043d\u044b \u0432 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b\u0435.\n\n\u0424\u043e\u0440\u043c\u0430\u0442 \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 [Keep a Changelog](http://keepachangelog.com/)\n\u0438 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 [\u0421\u0435\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c\u0443 \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e](http://semver.org/).\n\n## [x.y.z] - \u0433\u0433\u0433\u0433-\u043c\u043c-\u0434\u0434\n\n\u0417\u0434\u0435\u0441\u044c \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e, \u043a\u0430\u043a\u0438\u0435 \u0435\u0441\u0442\u044c \u043f\u043b\u0430\u043d\u044b \u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c\u0443 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044e.\n\u0416\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u0443\u0434\u0443\u0449\u0438\u0435 \u0446\u0435\u043b\u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u044b\u0432\u0430\u0442\u044c \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u0437\u0430\u0434\u0430\u0447\u0430\u043c. \u0422.\u0435. \u043d\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u0446\u0435\u043b\u044c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u0438\n\u043e\u0442\u0440\u0430\u0437\u0438\u0442\u044c \u0435\u0435 \u043d\u043e\u043c\u0435\u0440 \u0437\u0434\u0435\u0441\u044c.\n\n### \u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e\n\n- [\u041f\u0420\u041e\u0415\u041a\u0422-ZZZZ](https://jira.bars.group/browse/\u041f\u0420\u041e\u0415\u041a\u0422-ZZZZ)\n  PATCH \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.\n\n- [\u041f\u0420\u041e\u0415\u041a\u0422-YYYY](https://jira.bars.group/browse/\u041f\u0420\u041e\u0415\u041a\u0422-YYYY)\n  MINOR \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.\n\n- [\u041f\u0420\u041e\u0415\u041a\u0422-XXXX](https://jira.bars.group/browse/\u041f\u0420\u041e\u0415\u041a\u0422-XXXX)\n  MAJOR \u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f.\n\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u043e\n\n### \u0418\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e\n\n### \u0423\u0434\u0430\u043b\u0435\u043d\u043e\n\n\n## [0.1.0] - 2024-10-10\n\n\u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "\u041d\u043e\u0447\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b",
    "version": "0.1.0",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dfba8cbaeb08611b04782e7ef06244f5eed373953260535b8696786c650e33ec",
                "md5": "51562ae83facf921aecb1e1ced998572",
                "sha256": "248c5e66d50c21ad63d9538132123c04df23738ef3c47259bab4a21677ea357d"
            },
            "downloads": -1,
            "filename": "nightly_scripts-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "51562ae83facf921aecb1e1ced998572",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 7965,
            "upload_time": "2024-10-11T05:53:20",
            "upload_time_iso_8601": "2024-10-11T05:53:20.812902Z",
            "url": "https://files.pythonhosted.org/packages/df/ba/8cbaeb08611b04782e7ef06244f5eed373953260535b8696786c650e33ec/nightly_scripts-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6a74a47e1c5f185729a67eec849049065e113bddf641f7c3067b132fcc2dda33",
                "md5": "a5ce07414206e24dc91f924202b7aa7a",
                "sha256": "4a89142ea15b78b2e2aba989dcf1bc8b068424eadaca9801071036e38931163b"
            },
            "downloads": -1,
            "filename": "nightly-scripts-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "a5ce07414206e24dc91f924202b7aa7a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 11519,
            "upload_time": "2024-10-11T05:53:22",
            "upload_time_iso_8601": "2024-10-11T05:53:22.974375Z",
            "url": "https://files.pythonhosted.org/packages/6a/74/a47e1c5f185729a67eec849049065e113bddf641f7c3067b132fcc2dda33/nightly-scripts-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-11 05:53:22",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "nightly-scripts"
}
        
Elapsed time: 2.15418s