Cluster · разработчикам
app.tasks
Постановка задач своего экземпляра и управление их выполнением.
Все методы SDK · Типы и ошибки
Получение объекта
schedule = app.tasks("refresh")__init__
Создаёт Tasks. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
def __init__(app: App) -> None: ...Аргументы
app: App, обязательный. Переданный ядром объект app. Второй App в модуле создавать не нужно.
Результат
None. Создаёт Tasks. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
# Обычный способ получения объекта:
schedule = app.tasks("refresh")__call__
Создаёт расписание для объявленного обработчика loader.task либо его ID.
def __call__(handler: str | Callable, values: dict[str, JSON] | None = None, args: JSON | tuple[JSON, ...] | None = None) -> Schedule: ...Аргументы
handler: str | Callable, обязательный. ID объявленного обработчика либо метод с соответствующим декоратором loader.values: dict[str, JSON] | None, по умолчаниюNone. Именованные JSON-аргументы объявленного обработчика по его схеме. None означает пустой словарь.args: JSON | tuple[JSON, ...] | None, по умолчаниюNone. Аргументы обработчика по схеме полей: словарь либо позиционные значения. Для позиционных значений требуется объявленный callable.
Результат
Schedule. Создаёт расписание для объявленного обработчика loader.task либо его ID.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = app.tasks("refresh")task
Создаёт объект задачи по ID без загрузки её состояния.
def task(id: str) -> Task: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.
Результат
Task. Создаёт объект задачи по ID без загрузки её состояния.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = app.tasks.task("object-id")iter
Получает список задач один раз и выдаёт объекты с необязательной фильтрацией по состоянию.
async def iter(state: str | None = None) -> AsyncIterator[Task]: ...Аргументы
state: str | None, по умолчаниюNone. Фильтр состояния задачи. None выдаёт все состояния.
Результат
AsyncIterator[Task]. Получает список задач один раз и выдаёт объекты с необязательной фильтрацией по состоянию.
Права
Нужны tasks.create.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
async for value in app.tasks.iter():
breakcreate
Ставит задачу на указанное абсолютное время с аргументами обработчика.
async def create(handler: str | Callable, at: float | None, values: dict[str, JSON] | None = None, **data: JSON) -> TaskInfo: ...Аргументы
handler: str | Callable, обязательный. ID объявленного обработчика либо метод с соответствующим декоратором loader.at: float | None, обязательный. Абсолютное UNIX-время: не в прошлом и не далее 315360000 секунд вперёд. None только вместе с after в дополнительных параметрах. Этот короткий метод не преобразует datetime.values: dict[str, JSON] | None, по умолчаниюNone. Именованные JSON-аргументы объявленного обработчика по его схеме. None означает пустой словарь.data: JSON, произвольные именованные аргументы. Допустимы interval: int | None = None (1..315360000), retry: int = 0 (0..10), request: str | None = None (ID защиты от повторов), after: float | None = None (0..315360000). При after аргумент at должен быть None.
Результат
TaskInfo. Ставит задачу на указанное абсолютное время с аргументами обработчика.
Права
Нужны tasks.create.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
task = await app.tasks.create("refresh", 2000000000.0, {"page": 1}, retry=0)get
Получает данные задачи.
async def get(id: str) -> TaskInfo: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.
Результат
TaskInfo. Получает данные задачи.
Права
Нужны tasks.create.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.tasks.get("object-id")cancel
Запрашивает отмену задачи и возвращает её состояние.
async def cancel(id: str) -> TaskInfo: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.
Результат
TaskInfo. Запрашивает отмену задачи и возвращает её состояние.
Права
Нужны tasks.create.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.tasks.cancel("object-id")delete
Удаляет доступную для удаления задачу и её запись.
async def delete(id: str) -> bool: ...Аргументы
id: str, обязательный. Идентификатор объекта, полученный при его создании. Не путь сервера.
Результат
bool. Удаляет доступную для удаления задачу и её запись.
Права
Нужны tasks.create.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.tasks.delete("object-id")list
Возвращает задачи текущего экземпляра.
async def list() -> list[TaskInfo]: ...Аргументы
Нет.
Результат
list[TaskInfo]. Возвращает задачи текущего экземпляра.
Права
Нужны tasks.create.
Ошибки
- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await app.tasks.list()