Перейти к содержанию

Работа с консолью через qtasks.__main__

Модуль qtasks.__main__ предоставляет интерфейс командной строки для запуска и управления приложениями QTasks. CLI подходит для автоматизации, работы в продакшене и интеграции с внешними инструментами.

Доступные команды включают:

  • запуск приложения;
  • просмотр статистики через (A)syncStats;
  • запуск экспериментального веб‑интерфейса (будет переведён на библиотеку qtasks_webview).

Основные возможности CLI

  • запуск приложения с указанным экземпляром QueueTasks;
  • вызов статистики компонентов (через stats inspect);
  • запуск экспериментального веб-интерфейса;
  • указание приложения через -A или --app в формате module:variable;
  • настройка порта веб-интерфейса.

Команда вызывается в общем виде:

qtasks [опции] <команда> [опции]

Команда run

Запускает приложение QTasks с указанным экземпляром QueueTasks.

qtasks -A <путь_к_модулю:имя_переменной> run

Пример:

qtasks -A based_async_app:app run

-A и --app полностью эквивалентны.


Команда stats

Используется для получения данных из (A)syncStats. В текущей версии доступна только подкоманда inspect.

qtasks -A <module:app> stats inspect <target> [параметры]

Где target — объект статистики:

  • app — информация о приложении;
  • tasks — информация о задачах.

Пример:

qtasks -A based_async_app:app stats inspect app json=true

Параметр json=true передаётся как позиционный аргумент функции inspect и включает вывод в формате JSON.

Подкоманды inspect app и inspect tasks напрямую вызывают методы:

  • (A)syncStats().inspect().app(json=True)
  • (A)syncStats().inspect().tasks(json=True)

Расширение списка целей (inspect workers, inspect broker и т.п.) возможно без изменения CLI.


Команда web (экспериментально)

Запускает экспериментальный веб‑интерфейс (в дальнейшем будет перенесён в проект qtasks_webview).

qtasks web -A <module:app> --port <порт>

Пример:

qtasks web -A based_async_app:app --port 8000

Если порт не указан, используется значение по умолчанию — 8000.


Параметры CLI

-A, --app

Путь к приложению в формате:

модуль:имя_переменной

Пример:

based_async_app:app

CLI не определяет приложение автоматически — это поведение намеренное, поскольку разработчик может не использовать глобальную переменную app.

--port

Используется только командой web. Указывает порт веб-интерфейса.


Подсказка по командам

Для получения полного списка параметров и помощи:

qtasks --help

Для получения справки по команде:

qtasks <команда> --help

Пример

qtasks -A based_async_app:app run
qtasks -A based_async_app:app stats inspect tasks json=true
qtasks web -A based_async_app:app --port 8000