К содержимому

Документация

PHP SDK: Состояние и продолжение обхода

Методы доступны через $ctx->state(). Сохраняйте только необходимое для продолжения: курсор, номер страницы, счётчики. Это не замена emit и не общая база для обмена между произвольными сценариями.

Общий справочник SDK

Методы

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.