где хранить данные, относящиеся к задаче планировщика, в TYPO3 - PullRequest
1 голос
/ 16 марта 2020

Я работаю над сценарием импорта, который загружает данные из канала json. Для этого мне нужно сохранить данные в два момента:

1) при запуске скрипта я импортирую несколько записей, разбитых на более мелкие куски. Это число может варьироваться в зависимости от того, что поставляет корм. Поскольку я не хочу получать фид для каждого чанка, но только один раз для каждого импорта, я хотел бы сохранить количество записанных энтеросов за один прогон, чтобы они были доступны в следующем прогоне. Допустим, я хочу импортировать 100 записей по 25 / за прогон. Это сделало бы 4 пробега. Но теперь в одном прогоне только 20 из 25 имеют право на экономию. Так что я 5 коротких в конце импорта. Мне нужно сохранить количество сохраненных записей, чтобы я мог делать больше прогонов, если это необходимо.

2) чтобы выяснить, сколько записей должно быть импортировано, я хотел бы сохранить идентификатор последнего импортированного элемента, чтобы я мог проверить этот идентификатор в следующем запуске планировщика импорта.

Где лучшее место для безопасного сохранения и доступа к этим данным из extbase? БД (кажется чрезмерной?)? Конфигурация расширения (не удалось найти способ сохранить данные, только прочитать их)? Могу ли я установить пользовательские временные переменные в $ GLOBALS (по крайней мере, для вопроса 1)?

Спасибо

РЕДАКТИРОВАТЬ: благодаря @Krzysztof Kasprzyca, это работает:

// get registry
$registry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Registry::class);

// get info
$alreadyImported = $registry->get('tx_my_ext_name', 'numberImported');

// set info
$alreadyImported = $registry->set('tx_my_ext_name', 'numberImported', $numberImported);

1 Ответ

1 голос
/ 16 марта 2020

Вы можете подумать о таблице базы данных с именем sys_registry

...