การใช้งาน SUPERFLIX Cluster

รันคำสั่งนี้เพื่อล้างสมอง Laravel

Bash
./vendor/bin/sail artisan route:clear
./vendor/bin/sail artisan view:clear

Laravel Sail -> stop and start

./vendor/bin/sail up -d
./vendor/bin/sail down

คำสั่งจัดการคิวต่าง

docker exec -it netflix-clone-api-laravel.test-1 php artisan queue:flush

 

เช็ค logs worker

tail -n 50 storage/logs/laravel.log
docker compose logs -f laravel.worker

 

ดูคิวงาน

./vendor/bin/sail artisan queue:work

ส่ง file เข้าคิวแปลงเป็น HLS

docker compose exec laravel.worker php artisan bulk:encode demonslayer1

restart คิว

./vendor/bin/sail artisan queue:restart

คำสั่ง activate TV paring

curl -X POST https://master.myflix.shop/api/tv/approve   -H "Accept: application/json"   -d "tv_code=7114"   -d "user_id=1"

เช็ค ffmpeg ทำงานไหม

ps aux | grep ffmpeg

หลังจากแปลง hls แล้ว โครงสร้าง file จะเป็นแบบนี้

ls /share/upload_movies/worker_hls/267
a0_000.ts  a0_021.ts  a0_042.ts  a1_002.ts  a1_023.ts  a1_044.ts     poster_3.jpg  v_020.ts  v_041.ts
a0_001.ts  a0_022.ts  a0_043.ts  a1_003.ts  a1_024.ts  a1_045.ts     v_000.ts      v_021.ts  v_042.ts
a0_002.ts  a0_023.ts  a0_044.ts  a1_004.ts  a1_025.ts  a1_046.ts     v_001.ts      v_022.ts  v_043.ts
a0_003.ts  a0_024.ts  a0_045.ts  a1_005.ts  a1_026.ts  a1_047.ts     v_002.ts      v_023.ts  v_044.ts
a0_004.ts  a0_025.ts  a0_046.ts  a1_006.ts  a1_027.ts  a1_048.ts     v_003.ts      v_024.ts  v_045.ts
a0_005.ts  a0_026.ts  a0_047.ts  a1_007.ts  a1_028.ts  a1_049.ts     v_004.ts      v_025.ts  v_046.ts
a0_006.ts  a0_027.ts  a0_048.ts  a1_008.ts  a1_029.ts  a1_050.ts     v_005.ts      v_026.ts  v_047.ts
a0_007.ts  a0_028.ts  a0_049.ts  a1_009.ts  a1_030.ts  a1_051.ts     v_006.ts      v_027.ts  v_048.ts
a0_008.ts  a0_029.ts  a0_050.ts  a1_010.ts  a1_031.ts  a1_052.ts     v_007.ts      v_028.ts  v_049.ts
a0_009.ts  a0_030.ts  a0_051.ts  a1_011.ts  a1_032.ts  a1_053.ts     v_008.ts      v_029.ts  v_050.ts
a0_010.ts  a0_031.ts  a0_052.ts  a1_012.ts  a1_033.ts  a1_054.ts     v_009.ts      v_030.ts  v_051.ts
a0_011.ts  a0_032.ts  a0_053.ts  a1_013.ts  a1_034.ts  a1_055.ts     v_010.ts      v_031.ts  v_052.ts
a0_012.ts  a0_033.ts  a0_054.ts  a1_014.ts  a1_035.ts  a1_056.ts     v_011.ts      v_032.ts  v_053.ts
a0_013.ts  a0_034.ts  a0_055.ts  a1_015.ts  a1_036.ts  a1_057.ts     v_012.ts      v_033.ts  v_054.ts
a0_014.ts  a0_035.ts  a0_056.ts  a1_016.ts  a1_037.ts  a1_058.ts     v_013.ts      v_034.ts  v_055.ts
a0_015.ts  a0_036.ts  a0_057.ts  a1_017.ts  a1_038.ts  a1_059.ts     v_014.ts      v_035.ts  v_056.ts
a0_016.ts  a0_037.ts  a0_058.ts  a1_018.ts  a1_039.ts  a1.m3u8       v_015.ts      v_036.ts  v_057.ts
a0_017.ts  a0_038.ts  a0_059.ts  a1_019.ts  a1_040.ts  v_016.ts      v_037.ts      v_058.ts
a0_018.ts  a0_039.ts  a0.m3u8    a1_020.ts  a1_041.ts  v_017.ts      v_038.ts      v_059.ts
a0_019.ts  a0_040.ts  a1_000.ts  a1_021.ts  a1_042.ts  poster_1.jpg  v_018.ts      v_039.ts  v.m3u8
a0_020.ts  a0_041.ts  a1_001.ts  a1_022.ts  a1_043.ts  poster_2.jpg  v_019.ts      v_040.ts