使用 laravel 5 呼叫 python gearman worker
Call python gearman worker using laravel 5
我正在使用 laravel 5。我需要的是打电话给python gearman worker。
我在 python 中创建了一个 gearman worker。
我在 laravel 5.
中创建了一个 gearman 客户端
我已经在我的控制器中直接添加了 gearman 客户端代码,例如:
$client = new GearmanClient();
$client->addServer();
$job_data = array("func_name" => "searchTweets", "query" => "query_to_search");
$result = $client->doNormal("php_twitter_worker", json_decode($job_data));
if ($result) {
print_r($result);
}
但它抛出错误:
Class 'App\Http\Controllers\GearmanClient' not found
我知道错误是什么,因为我在控制器中没有 GearmanClient Class。其实我不知道怎么用。
在做了一些 R&D 之后,我找到了一个使用 gearman in laravel5 的包,但不知道如何将它用作 Gearman 客户端以及它如何制作 打电话给我的 python 齿轮工人 。
有什么帮助吗?
因为您的 class 是命名空间,您的控制器 PHP 将在此命名空间内寻找 class。
因此,要从根命名空间使用 class,您应该使用 use 语句或在 class 名称前加上 \,\ 作为根命名空间。
use GearmanClient;
$client = new \GearmanClient();
使用一个或另一个,而不是两个,我上面的代码实际上很混乱...
我正在使用 laravel 5。我需要的是打电话给python gearman worker。
我在 python 中创建了一个 gearman worker。 我在 laravel 5.
中创建了一个 gearman 客户端我已经在我的控制器中直接添加了 gearman 客户端代码,例如:
$client = new GearmanClient();
$client->addServer();
$job_data = array("func_name" => "searchTweets", "query" => "query_to_search");
$result = $client->doNormal("php_twitter_worker", json_decode($job_data));
if ($result) {
print_r($result);
}
但它抛出错误:
Class 'App\Http\Controllers\GearmanClient' not found
我知道错误是什么,因为我在控制器中没有 GearmanClient Class。其实我不知道怎么用。
在做了一些 R&D 之后,我找到了一个使用 gearman in laravel5 的包,但不知道如何将它用作 Gearman 客户端以及它如何制作 打电话给我的 python 齿轮工人 。
有什么帮助吗?
因为您的 class 是命名空间,您的控制器 PHP 将在此命名空间内寻找 class。
因此,要从根命名空间使用 class,您应该使用 use 语句或在 class 名称前加上 \,\ 作为根命名空间。
use GearmanClient;
$client = new \GearmanClient();
使用一个或另一个,而不是两个,我上面的代码实际上很混乱...