Video size is handled by the queue job.
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Http\SymfonyCastDl;
|
||||
|
||||
use App\Jobs\GetVideoFileSize;
|
||||
use App\Models\Chapter;
|
||||
use App\Models\Course;
|
||||
use GuzzleHttp\TransferStats;
|
||||
@@ -40,14 +41,13 @@ class SymfonyCastDlService
|
||||
$coursePage = $this->client->get('courses/filtering');
|
||||
|
||||
$courses = $this->htmlParser->getCourses($coursePage);
|
||||
$courses->each(fn($course) => $course->save());
|
||||
// $singleCoursePage = $this->client->get($courses[3]->link);
|
||||
$courses->each->save();
|
||||
/** @var Course $course */
|
||||
foreach ($courses as $course) {
|
||||
$singleCoursePage = $this->client->get($course->link);
|
||||
$chapters = $this->htmlParser->getCourseDetails($singleCoursePage, $course->id);
|
||||
// $chapters->each(fn($chapter) => $this->videoSize($chapter)->save());
|
||||
$chapters->each(fn($chapter) => $chapter->save());
|
||||
$chapters->each->save();
|
||||
$chapters->each(fn($chapter) => GetVideoFileSize::dispatch($chapter->id));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
36
app/Jobs/GetVideoFileSize.php
Normal file
36
app/Jobs/GetVideoFileSize.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Jobs;
|
||||
|
||||
use App\Http\SymfonyCastDl\HtmlParser;
|
||||
use App\Http\SymfonyCastDl\SymfonyCastDlService;
|
||||
use App\Models\Chapter;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Contracts\Queue\ShouldBeUnique;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Foundation\Bus\Dispatchable;
|
||||
use Illuminate\Queue\InteractsWithQueue;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
class GetVideoFileSize implements ShouldQueue
|
||||
{
|
||||
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
|
||||
|
||||
public function __construct(private int $chapterId)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function handle(HtmlParser $htmlParser)
|
||||
{
|
||||
|
||||
// $this->
|
||||
// $this->videoSize($this->chapter);
|
||||
// $this->chapter->save();
|
||||
$service = new SymfonyCastDlService($htmlParser);
|
||||
$service->videoSize(Chapter::find($this->chapterId));
|
||||
|
||||
// dd($this->chapterId);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user