Ich möchte einige Aufgaben in PHP 5.5 und Laravel asynchron ausführen. Ich habe gegoogelt und herausgefunden, dass die Laravel-Warteschlange so etwas tun kann. Ich habe diesen Link für Hilfe gefunden: https://laravel.com/docs/5.1/queues. Ich habe installiert die Abhängigkeiten:Ich kann keine asynchronen Jobs in Laravel-Warteschlange
Amazon SQS: aws/aws-sdk-php ~ 3.0
Beanstalkd: pda/pheanstalk ~ 3.0
IronMQ: Eisen-io/iron_mq ~ 2.0 | ~ 4.0
Redis: Predis/Predis ~ 1,0
und ich habe die Warteschlange Tabellen in laravel.Here hinzugefügt ist mein Job Klasse
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);
}
}
und hier ist, wo ich den Job versenden:
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);
}
}
Das Problem ist, dass der Laravel nicht die Arbeitsplätze asynchron läuft. Was ist das Problem.
Ich arbeite immer noch nicht. wenn ich php artisan queue laufen lasse: höre zu und sende den job es zeigt nichts im terminal – Alireza
hexe warteschlangentreiber verwendest du? – Tsirigotis
Ich habe Sync, Datenbank und Redis aber es macht keinen Unterschied – Alireza