Ребят, столкнулся с какой-то аномальной для меня проблемой.
Есть цикл на 2к записей, в нём ставятся джобы в очередь.
Я начал ловить ошибку о переполнении памяти,
Allowed memory size of 134217728 bytes exhausted
сейчас упростил код до безобразия, оставил только
for ($i = 0; $i < 3000; $i++) {
dispatch(function () use ($i) {
$this->getCacheKeyName("label", $i);
});
}
по прежнему ловлю эту ошибку.
метод getCacheName просто генерирует строку, ключ для кеша
protected function getCacheKeyName(string $entity, string $value)
{
return
CLASS . "|$entity|$value";
}
Если её убираю, выношу конкатенацию строк напрямую в тело джобы - проблема пропадает. Почему такое происходит?