ローカルホストのGearmanサーバーマシンで複数のワーカーを使用しています。ここにすべてのコードがあります。このワーカーを他の場所で実行する場合は、このタスクを実行するために使用しているすべてのライブラリを移動する必要があると思います。私は正しいですか?
例:このスクリプトでは、内部で複数のライブラリも使用するFILEクラスを使用しています。
namespace app\controllers;
use app\file\File;
require_once 'vendor/autoload.php';
$worker = new \GearmanWorker();
$worker->addServer();
$worker->addFunction('parse_file', function($job){
echo "entrou no add function!<br>";
print_r ($job->workload());
sleep(2);
new File($job->workload()); # this class parses the files content in database
});
while($worker->work())
{
if ($worker->returnCode() != GEARMAN_SUCCESS)
{
echo "return_code: " . $worker->returnCode() . "\n";
break;
}
}
答えは「はい」です。ワーカーが実行される各マシンにライブラリのコピーが必要になります。FILEクラスと依存関係が必要になります。
マシンごとに必要なコードベースのコピーは1つだけですが、ワーカーの複数のインスタンスを実行できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加