Cluster · разработчикам
Schedule
Подготовка задачи. Время выбирается через at() либо after(); повторение и повторы при ошибке задаются отдельно.
Все методы SDK · Типы и ошибки
Получение объекта
schedule = app.tasks("refresh", {"page": 1}).after(60)__init__
Создаёт Schedule. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
def __init__(tasks: Tasks, callback: str | Callable, values: dict[str, JSON] | None = None, args: JSON | tuple[JSON, ...] | None = None) -> None: ...Аргументы
tasks: Tasks, обязательный. Служба задач текущего приложения.callback: str | Callable, обязательный. Обработчик loader.task либо его ID.values: dict[str, JSON] | None, по умолчаниюNone. Именованные JSON-аргументы объявленного обработчика по его схеме. None означает пустой словарь.args: JSON | tuple[JSON, ...] | None, по умолчаниюNone. Аргументы обработчика по схеме полей: словарь либо позиционные значения. Для позиционных значений требуется объявленный callable.
Результат
None. Создаёт Schedule. Обычный способ получения объекта показан выше; прямой конструктор не выполняет сетевые запросы.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
# Обычный способ получения объекта:
schedule = app.tasks("refresh", {"page": 1}).after(60)editable
Проверяет, что задача ещё не создана и параметры можно менять.
def editable() -> None: ...Аргументы
Нет.
Результат
None. Проверяет, что задача ещё не создана и параметры можно менять.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('The schedule has already been created'): условие проверяется до продолжения операции.
Пример
result = schedule.editable()at
Задаёт абсолютное время UNIX либо datetime с часовым поясом. Сбрасывает относительную задержку.
def at(value: datetime | float) -> Self: ...Аргументы
value: datetime | float, обязательный. UNIX-время либо datetime с часовым поясом, неотрицательное и конечное.
Результат
Self. Тот же объект после успешной операции. Задаёт абсолютное время UNIX либо datetime с часовым поясом. Сбрасывает относительную задержку.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
schedule.at(2000000000.0)after
Задаёт конечную неотрицательную задержку в секундах. Время считается при создании задачи.
def after(seconds: float) -> Self: ...Аргументы
seconds: float, обязательный. Конечная неотрицательная задержка в секундах.
Результат
Self. Тот же объект после успешной операции. Задаёт конечную неотрицательную задержку в секундах. Время считается при создании задачи.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
result = schedule.after(60)every
Задаёт интервал повторения: целое число от 1 до 315360000 секунд.
def every(seconds: float) -> Self: ...Аргументы
seconds: float, обязательный. Конечная неотрицательная задержка в секундах.
Результат
Self. Тот же объект после успешной операции. Задаёт интервал повторения: целое число от 1 до 315360000 секунд.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('Invalid interval'): условие проверяется до продолжения операции.
Пример
result = schedule.every(60)retry
Задаёт число повторных попыток при ошибке, от 0 до 10.
def retry(count: int) -> Self: ...Аргументы
count: int, обязательный. Число повторных попыток от 0 до 10.
Результат
Self. Тот же объект после успешной операции. Задаёт число повторных попыток при ошибке, от 0 до 10.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
ValueError('Invalid retry count'): условие проверяется до продолжения операции.
Пример
result = schedule.retry(2)arguments
Дополняет JSON-аргументы обработчика; одноимённые значения заменяются.
def arguments(**values: JSON) -> Self: ...Аргументы
values: JSON, произвольные именованные аргументы. Именованные JSON-аргументы объявленного обработчика по его схеме.
Результат
Self. Тот же объект после успешной операции. Дополняет JSON-аргументы обработчика; одноимённые значения заменяются.
Права
Не требует прав: операция выполняется локально и сама не обращается к ядру. Права понадобятся при отправке, сохранении или чтении через службу.
Ошибки
- Отдельного исключения SDK нет. Действуют обычные ошибки типов Python и ошибки переданных функций, если они используются.
Пример
schedule.arguments(page=1)create
Создаёт задачу с идентификатором запроса для защиты от повторной постановки. Повторный вызов возвращает тот же объект Task.
async def create() -> Task: ...Аргументы
Нет.
Результат
Task. Создаёт задачу с идентификатором запроса для защиты от повторной постановки. Повторный вызов возвращает тот же объект Task.
Права
Нужны tasks.create.
Ошибки
ValueError('Set the scheduled time first'): условие проверяется до продолжения операции.- Ошибки ядра: AccessDenied при нехватке прав или выходе за ограничения, InvalidInput для неверных параметров, InvalidState для недоступного состояния, QuotaExceeded при превышении лимита, Unavailable при недоступной службе. Остальные коды представлены SDKError; см. TYPES.md. Ошибка канала связи вызывает RuntimeError. Действие с неизвестным результатом нельзя автоматически считать невыполненным.
Пример
result = await schedule.create()