PHP SDK: Состояние и продолжение обхода
Методы доступны через $ctx->state(). Сохраняйте только необходимое для продолжения: курсор, номер страницы, счётчики. Это не замена emit и не общая база для обмена между произвольными сценариями.
Методы
get
get(string $key, mixed $default = null): mixed
Прочитать сохранённое значение состояния.
$page = (int) $ctx->state()->get('next_page', 1);
Результат и особенности. Возвращает значение либо default. Используйте короткие понятные ключи и проверяйте тип значения.
set
set(string $key, mixed $value): void
Записать значение состояния для продолжения обхода.
$ctx->flush();
$ctx->state()->set('next_page', 3);
Результат и особенности. Ничего не возвращает. Отметка прогресса не является транзакцией с сохранением товара. Повторный обход должен быть безопасен благодаря стабильным ключам emit.
incr
incr(string $key, int $by = 1): int
Увеличить целочисленный счётчик состояния.
$processed = $ctx->state()->incr('processed', 1);
Результат и особенности. Возвращает новое целое значение счётчика. by по умолчанию равен 1.