Работа с консолью через 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