Skip to content

This is a .NET service which can send requests to Task by schedule.

License

Notifications You must be signed in to change notification settings

mylab-task/kicker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MyLab.TaskKicker

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

Обзор

MyLab.TaskKicker - сервис, предназначенный для запуска задач на основе MyLab.TaskApp по расписанию.

В общем случае отправляет HTTP в соответствии с настройками.

Настройки

appsettings.json

Содержит стандартные настройки .NET приложения. Такие, как настройки логирования.

jobs.yml

Содержит настройки работ по запуску задач.

Пример содержания файла:

jobs:
- id: 'foo'
  cron: '* * * * * ? *'
  host: 'localhost'
  path: '/path'
  port: 8080
  headers: 
    foo-key: foo-val
    bar-key: bar-val
- id: 'bar'
  host: 'bar-host'

Структура файла:

  • jobs - список задач:
    • id - идентификатор задачи. Фигурирует в логах. По умолчанию назначается случайный GUID;
    • cron - строка с расписанием в формате cron/quartz. По умолчанию 0 * * * *.
    • host - хост адреса запроса Таска. Обязательный параметр;
    • path - путь адреса запроса Таска. /processing - по умолчанию;
    • port- порт адреса запроса Таска. 80 - по умолчанию;
    • headers - список дополнительных заголовков запроса. Опционально.

Развёртывание

Сервис развёртывается на базе docker контейнера. Пример docker-compose файла:

version: '3.3'

services:
  task-kicker:
    container_name: task-kicker
    image: docker pull ghcr.io/mylab-task/task-kicker:latest
    volumes:
    - ./jobs.yml:/app/jobs.yml

Конфигурационные файлы в контейнере:

  • /app/appsettings.json

  • /app/jobs.yml