Skip to content

Планировщик

Планировщик SyncMaster — это выделенный процесс, который периодически проверяет передачи планировщика в базу данных и создаёт соответствующие запуски в брокере сообщений.

Реализовано с помощью APScheduler.

Установка и запуск

Посредством докер

  • Установите Docker

  • Установите docker-compose

  • Запустите следующие команды:

$ docker compose --profile scheduler up -d --wait
...

docker-compose загрузит все необходимые образы, создаст контейнеры, а затем запустит планировщик.

Параметры можно задать через файл .env или раздел environment в docker-compose.yml

docker-compose.yml

scheduler: image: mtsrus/syncmaster-scheduler:${VERSION:-develop} restart: unless-stopped build: dockerfile: docker/Dockerfile.scheduler context: . target: prod volumes: - ./config.docker.yml:/app/config.yml depends_on: db: condition: service_healthy db-migrations: condition: service_completed_successfully rabbitmq: condition: service_healthy profiles: - scheduler

config.yml

database: url: postgresql+asyncpg://syncmaster:changeme@localhost:5432/syncmaster

broker: url: amqp://guest:guest@localhost:5672

encryption: # Encrypt / Decrypt credentials data using this Fernet key. # !!! GENERATE YOUR OWN COPY FOR PRODUCTION USAGE !!! secret_key: UBgPTioFrtH2unlC4XFDiGf5sYfzbdSf_VgiUSaQc94= worker: log_url_template: https://logs.location.example.com/syncmaster-worker?correlation_id={{ correlation_id }}&run_id={{ run.id }}

Без докер

$ python -m venv /some/.venv
$ source /some/.venv/activate
...
  • Установите пакет syncmaster package со следующими дополнительными зависимостями:
$ pip install syncmaster[scheduler]
...
  • Запустить процесс планировщика:
$ python -m syncmaster.Scheduler
...

Планировщик в настоящее время не имеет аргументов командной строки.

Смотри также