1
私はPHP 5.5とlaravelでいくつかのタスクを非同期に実行したいと思っています。私はグーグルで、ラーベルキューがそのようなことをすることができることを知った。私は助けのためのこのリンクを見つけた:https://laravel.com/docs/5.1/queues。 私がインストールした依存関係:laravelのキューで非同期のジョブを実行できません
アマゾンSQS:AWS/AWS-SDK-PHP〜3.0
Beanstalkd:PDA/pheanstalk〜3.0
IronMQ:鉄-IO/iron_mq〜2.0 |〜 4.0
のRedis:predis/predis〜1.0
と私はlaravel.Hereでキュー表を追加しましたが、私の仕事のクラスである
class SearchFromSource extends Job implements SelfHandling{
use InteractsWithQueue, SerializesModels;
private $provider;
private $query;
private $pageToken;
private $parameters;
private $needDetails;
public function __construct()
{
}
public function handle()
{
sleep(5);
}
}
と、ここで私は仕事を派遣するところである:
class SearchController extends Controller{
...
public function prepareResults($query, $page, $ip){
$job = (new SearchFromSource($curVideoProvider,$this->query,$curVideoProvider->getDefaultParameters(),$curPageToken,$curVideoProvider->needDetails()))->onQueue("q1");
$this->dispatch($job);
$job2 = (new SearchFromSource($curVideoProvider,$this->query,$curVideoProvider->getDefaultParameters(),$curPageToken,$curVideoProvider->needDetails()))->onQueue("q2");
$this->dispatch($job2);
}
}
問題はlaravelジョブを非同期に実行されないということです。何が問題ですか。あなたはあなたの中にQUEUE_DRIVER
(シンク、Redisの、豆の木など)を定義する必要があります
私はまだ動作しません。私はPHPの職人のキューを実行するとき:聞いて、ターミナルで何も表示されないジョブをディスパッチ – Alireza
魔女キューのドライバを使用していますか? – Tsirigotis
私は同期、データベースとredisを使用しましたが、diffrenceを作成しません – Alireza