Tasker

Tasker — страница /tasker.html для хранения расписаний и запуска локальных задач.

Список

Задачи читаются из таблицы schedules. В списке отображаются имя, состояние и основные параметры запуска.

Редактирование

Для задачи задаются:

  • имя;
  • executor;
  • путь к скрипту, файлу или задаче;
  • аргументы;
  • состояние enabled;
  • расписание;
  • политика overlap;
  • payload.

Поддерживаемые executor:

Executor Что запускает
python, node, ts-node, npm скрипты соответствующих сред
exe, cmd, bat, bash, ps1 исполняемые файлы и командные сценарии
csx C#-скрипт
csx-internal C#-скрипт с доступом к внутренностям z3nDash; в списке задач для него есть кнопка сборки
xml шаблон ZennoPoster: граф из XML проигрывает встроенный рантайм, браузер выбирается в карточке задачи
internal встроенная задача z3nDash

Расписание

UI умеет формировать:

  • запуск по требованию;
  • ежедневный запуск;
  • запуск по дням недели;
  • запуск по дню месяца;
  • интервал в минутах.

Итоговые значения сохраняются в cron, interval_minutes и fixed_time.

Overlap

  • skip — не запускать новый экземпляр, пока активен предыдущий;
  • parallel — разрешить несколько экземпляров до max_threads;
  • kill_restart — остановить активные экземпляры и запустить новый.

Управление

Доступны:

  • Run;
  • Stop;
  • Restart;
  • включение/отключение расписания;
  • удаление и дублирование;
  • открытие файла и каталога;
  • открытие терминала;
  • проверка/установка зависимостей Python и Node.

Output

Вывод активного запуска передаётся через SSE. Для нескольких параллельных экземпляров доступны отдельные runId.

Traffic

Вкладка задачи с трафиком из trafficLog.jsonl: GET /traffic?tail=N&task_id=..., опрос раз в 3 секунды. Пишет его ZpRuntime, подробности — в Traffic. Файл ротируется сам.

Payload

Payload состоит из schema и values. Его можно редактировать, импортировать, экспортировать и передавать executor при запуске.

API

Управление из работающего скрипта без поиска ID: Task API. Доступны отсрочка следующего запуска, пауза и возобновление расписания.

Основные маршруты:

  • GET /tasker/list
  • POST /tasker/save
  • POST /tasker/delete
  • POST /tasker/run
  • POST /tasker/stop
  • GET /tasker/instances
  • POST /tasker/kill-instance
  • GET|POST /tasker/payload
  • GET /tasker/output/stream
  • GET /tasker/queue
  • POST /tasker/clear-queue