THẢO LUẬN

Avatar
đã bình luận câu trả lời trong câu hỏi
thg 3 18, 2020 6:57 SA

Cảm ơn bác nhé, để mình thử xem sao

+1
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 3 18, 2020 6:56 SA

Cảm ơn bạn nhé, để mình thử

0
thg 3 18, 2020 6:36 SA

Cảm ơn bạn. Mình đang tính mở blog riêng, nếu đc bạn có thể qua ủng hộ mình :v

0

Mình nghĩ là nếu bạn muốn làm theo hướng của bạn thì bạn nên chunk $arr_endpoint_id từ line 69
$send_list = array_chunk($arr_endpoint_id, 100, true); sau đó:

foreach ($send_list as $key => $list)
{
    if (send_notifications($data, $list) === true) // chỗ này đảm bảo send xong 100 id và return true thì code mới chạy
    {
         set_schedule_notification($notification['notification_id'],$endpoint_start,$endpoint_end);
    }
}

cả cụm schedule_main sẽ như sau:

// kiem tra va gui
function schedule_main(){
	if (!($notification = get_schedule_notification())){
        echo "notification schedule null<br/>";
		return false;
	} 
	$endpoint_start = $notification['endpoint_start'];
	$endpoint_end = $notification['endpoint_end'];
    
    if(!($arr_endpoint_id = get_schedule_endpoint_list($endpoint_start,$endpoint_end)))
    {
        echo "arr_endpoint_id null<br/>";
        return false;
    }
    $endpoint_start = $arr_endpoint_id[sizeof($arr_endpoint_id)-1];
    
    if(!($data = get_notification($notification['notification_id']))){
        echo "notification data null<br/>";
        return false;
    } 
    $milliseconds = round(microtime(true) * 1000000);
    $send_list = array_chunk($arr_endpoint_id, 100, true);
    foreach ($send_list as $key => $list)
    {
        if (send_notifications($data, $list) === true) // chỗ này đảm bảo send xong 100 id và return true thì code mới chạy
        {
            set_schedule_notification($notification['notification_id'],$endpoint_start,$endpoint_end);
        }
    }
    $milliseconds=round(microtime(true) * 1000000) - $milliseconds;
    echo "{'success': [{'message': 'Kiểm tra Log ".($milliseconds/1000000)."s'}]}<br/>";
}

Mình nghĩ đằng nào chỗ main này cũng return false khi check ko có notification hay data hay end_point_id nên đẩy các trường hợp false lên trên để return false luôn, khỏi chạy những đoạn dưới cho mất thời gian và code sẽ gọn và nhanh hơn. (Ý kiến cá nhân 😄) Thêm 1 góp ý hơi bị tiểu tiết nhưng bạn nên thống nhất cách viết tên biến nhé. Mình thấy có nhiều chỗ mix giữa camel case và snake case (full code ở Github).

0
thg 3 18, 2020 6:30 SA

ON là để xét điều kiện cho câu lệnh JOIN, vậy thì dùng WHERE khác gì dùng ON nhỉ?

0
thg 3 18, 2020 5:21 SA

Cho mình hỏi, ở mục 2 không nên dùng data như một hàm. Tức là với trường hợp là một component thì nếu viết

data: () => {
    return {}
}

Vẫn được phải không nhỉ?

0

giúp e cách sử dụng model relationship trong vue với ạ 😦(

0

Phân khúc hiện tại ALL nên: endpoint_end cố định lúc tạo ta bản tin = số endpoint mới nhất trong danh sách đăng ký. Với list >10k thì mỗi lần lấy chạy mình lấy 500 rows

0
thg 3 18, 2020 3:57 SA

Thiếu code 6996 nè b?

+3
thg 3 18, 2020 3:52 SA

Bài viết rất bổ ích. Cảm ơn b đã chia sẻ.

+3
thg 3 18, 2020 3:43 SA

cám ơn bạn đã chia sẻ

0

Trong bài viết có ghi "mỗi lần chúng ta comment thì chúng ta phải tác động lên component cha là ListPost.vue" chỗ này mình chưa hiểu lắm. Bạn có thể giải thích rõ hơn chút được không? Ví dụ như tác động lên component cha là sao nhỉ? Cảm ơn bạn.

0

Chào anh, mình có thể lấy tọa độ rồi, nhưng nếu đếm thì nó sẽ đếm số người xuất hiện trong frame. Ví dụ trong 1 frame nó sẽ đếm được 1,2,3.. people sau đó sang frame khác lại bắt đầu đếm từ 1. Hoặc đếm theo tọa độ box thì sẽ nó chạy từ 1,2...n. Em đang gặp khó khăn trong việc đếm người trên real time. Cảm ơn a đã phản hồi

0

a ơi sao khi e thiết lập mối quan hệ tại model, thì với blade sử dụng như này {{$post->user->name}} (quan hệ 1 nhiều). Thì với vue sử dụng như nào ạ ?

0
thg 3 18, 2020 2:23 SA

Ấy nãy mình online chưa vào xem mà lỡ reset cái code bên kia. Bạn note lại đã sửa gì k 😦 sleep(1) là mình test code ví dụ cái đó sẽ chạy mất 1s mới xong. Về hướng xử lý là mình:

  • Tạo bản tin > ném vào database 2 bảng: bảng nội dung 1 bảng lưu thông tin bản tin ( tiêu đề nội dung), bảng gửi 1 bảng lưu id của bản tin kia, id bắt đầu và id kết thúc. Để thử hiệu năng nên hiện tai là ALL.
  • Chạy file action ( chưa code trên)
  1. Tìm xem có bản tin chưa gửi
  2. Bắt đầu lấy danh sách endpoint 1>200 gửi
  3. Update lại bảng gửi với id bắt đầu+200 nếu nhỏ hơn id cuối thì quay lại 1.

Trình tự như này mà 2 chưa xong 3 đã chạy dẫn đến bị nhân lên .... sv quá tải.

FULL code:

0
Avatar
đã bình luận cho bài viết
thg 3 18, 2020 2:13 SA

cũng có gì nhiều đâu a. Thanks a đã ghé thăm😆😆

0
Avatar
đã bình luận câu trả lời trong câu hỏi
thg 3 17, 2020 4:15 CH

Dạ e cũng có đọc qua cái này. Cảm ơn ạ. Z e fai dùng theo cách khác ạ

0
thg 3 17, 2020 4:13 CH

Thank em :3

0

sorry vì rep chậm ạ. muốn đếm số người rất đơn giản, khi nhận diện được người, nó sẽ trả về các tọa độ để mình vẽ box ( là các cái khung khoanh vật thể trong video đó) ta sẽ đếm xem ta vẽ mấy cái box và thế là ta đếm được số lượng người

0
thg 3 17, 2020 3:18 CH

Bài viết của anh thực sự rất hay ạ, mong anh nhanh ra phần 2 ạ

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí