Глобальная переменная Gearman Manager == NULL - PullRequest
1 голос
/ 26 июля 2011

Я использую Gearman Manager Брайана Муна, который позволяет мне, например, отправлять работника на задний план.Проблема, с которой я сталкиваюсь, заключается в том, что я хочу использовать переменную, которая была определена вне функции с помощью ключевого слова global :

$var = 200;

  function worker_execution($job, &$log) {

    global $var;
    echo "global is: ".$var."\n";

}

Этот код не будет выводить 200, потому чтопеременная равна NULL!?

Знаете ли вы, как включить глобальную область действия в рабочих функциях?

Я предполагаю, что проблема в том, что менеджер Gearman не включает работникафайл как есть ... Он читает его и переходит непосредственно в «рабочую функцию», но все же, должно быть решение для получения доступа к переменной вне области рабочей функции?!

Ответы [ 2 ]

0 голосов
/ 24 сентября 2015

просто обратите внимание, обратитесь к https://groups.google.com/forum/#!topic/gearman/CNbuTshWfXA, использование $ GLOBALS будет работать.

0 голосов
/ 26 июля 2011

Показать весь код.Например, если вы объявите переменную после вызова $ worker-> work (), она не будет выполнена, так как work () входит в бесконечный цикл.Я уверен, что нет проблем с глобальной переменной в коде рабочего.

...