tigroid3
@tigroid3
PHP, YII2, SQL, Postgres, Docker, SPHINX, GIT

Почему вызов методов класса в потоке, не видит других классов?

хотел запустить в потоке 2 функции, подключил pthreads, делал по примеру

Создал 2 класса-обработчика(воркера), вызываю добавляю их в пулл и вызываю.
$pool = new Pool(2, 'Worker');
        $pool->submit(new Thread($worker1));
        $pool->submit(new Thread($worker2));

        while ($pool->collect(function ($work) {
            return $work->isGarbage();
        })) continue;

        $pool->shutdown();

но получаю ошибку Error: Class 'common\models\GoodsCategoryRelations' not found in WorkerClass, если вызвать просто WorkerClass, то всё срабатывает, а вот внутри \Threaded класса не видит, может кто сталкивался что внутри потока не видит других классов
  • Вопрос задан
  • 172 просмотра
Решения вопроса 1
tigroid3
@tigroid3 Автор вопроса
PHP, YII2, SQL, Postgres, Docker, SPHINX, GIT
как оказалось, в целях безопасности, внутри, при запуске потока в пуле, начиная с какой то версии, нельзя внутрь передавать что либо по типу: function ($t) use ($class)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽