@minhtien020900 mỗi phút nó sẽ check xem có task nào cần chạy ko chứ ko phải là mỗi phút nó đều sẽ thực hiện chạy các command trong Scheduling.
còn về tối ưu thì không có cách khác, ví dụ điển hình là một app báo thức trên điện thoại đi, bản chất là nó cũng sẽ check mỗi phút 1 lần xem có cái báo thức nào bạn setup đến giờ ko, nếu đến giừo thì đt bạn sẽ kêu. việc check này là bắt buộc. còn việc check thì cũng ko mất quá nhiều thời gian cũng như tài nguyên vì đơn giản nó chỉ check xem đến giờ để chạy task hay ko. nên bạn ko cần suy nghĩ quá nhiều.
Cảm ơn bạn đã chia sẻ, về cơ bản mình đã hiểu những gì bạn trình bày. Nhưng mình có thêm một thắc mắc đó là chức năng của mình ở trên mỗi ngày sẽ chạy một lần thì nếu đặt lịch trong crontab mỗi phút nó sẽ chạy để thực hiện các command trong Scheduling thì có phải không được tối ưu đúng không ạ?
@HuyDQ do em không dùng seed run mà dùng query add tay vào database trên heroku => chỗ này nó chỉ hiểu theo kiểu temp thôi,, phải run bằng seed thì nó mới có data ( lần đầu gặp trường hợp này luôn )
2 yếu tố trên muốn nói về vấn đề async programming với multp-thread. Ví dụ thực tế khi coding với io bound task là 1 là network, bandwidth, disk i/o. Download nhiều file với nhiều thread chưa biết nhanh hơn được bao nhiêu mà có khi còn chậm hơn. Nó chỉ giúp ích vì thực hiện async task tránh block mainthread.
Vd t2, mặc dù là cpu bound nhưng vì task quá đơn giản. Thực thi rất nhanh so với việc fetch data từ memory nên context switch với multithread còn tốn hơn cả time xử lý nên lại chậm hơn singlethread.
Trong thực tế các task đều phức tạp nên khi lập trình multi-thread sẽ tận dụng được sức mạnh của multi-processor.
Với các bài-toán-đơn-giản??? thì single-thread đôi khi lại là giải pháp tốt hơn.
Chỗ này bạn nói chưa rõ nghĩa, còn thiếu. Việc sử dụng single-thread hay multi-thread còn phụ thuộc vào task vụ cần xử lý là IO-Bound task hay CPU-Bound task.
Nếu task vụ là IO-Bound task (vd như download N images từ image_urls) thì sử dụng multi-thread trên ngay cả single processor vẫn giảm khá khá được thời gian thực thi, vì nó không phải là task vụ cpu intensive và có trễ network
Trong ví dụ thực hiện tăng biến count ở trên là CPU Bound task, nó tận dụng khả năng tính toán của CPU chủ yếu, nên máy có nhiều processors sự dụng multi-thread sẽ hiệu quả
@kietheros yep, mỗi người thì có một yêu cầu + cách dùng riêng. Mình đang đồng bộ bằng Dropbox thấy rất ổn, tự mình quản lý files đến khi migrate sang tools khác cũng dễ dàng hơn
Theo mình hiểu thì bạn đang có các Model là Flight (có thông tin start_airport_id), Airport (có city_id) đúng không nhỉ?
Tức là City thì quan hệ với Airport là hasMany, và Airport thì có quan hệ với Flight là hasMany
Với câu hỏi của bạn thì mình hiểu là muốn tìm các chuyến bay mà xuất phát từ một trong các sân bay nằm trong thành phố $startCity Không biết có phải như vậy không?
Nhưng vẫn phải đặt trong crontab một cronjob thì nó mới gọi được cái Task Scheduling trong Laravel đúng không ạ? Theo như chức năng mình đang làm thì sẽ cần một cronjob vào 3h mỗi ngày, vì chức năng này chỉ gọi mỗi ngày một lần nên không cần đặt thêm lịch trong Scheduling thì có được không ạ?
THẢO LUẬN
giải thích chưa được kĩ càng và chính xác lắm.
@minhtien020900 mỗi phút nó sẽ check xem có task nào cần chạy ko chứ ko phải là mỗi phút nó đều sẽ thực hiện chạy các command trong Scheduling.
còn về tối ưu thì không có cách khác, ví dụ điển hình là một app báo thức trên điện thoại đi, bản chất là nó cũng sẽ check mỗi phút 1 lần xem có cái báo thức nào bạn setup đến giờ ko, nếu đến giừo thì đt bạn sẽ kêu. việc check này là bắt buộc. còn việc check thì cũng ko mất quá nhiều thời gian cũng như tài nguyên vì đơn giản nó chỉ check xem đến giờ để chạy task hay ko. nên bạn ko cần suy nghĩ quá nhiều.
đúng thứ em cần luôn ạ. Cảm ơn anh Tiến !! -from Cyber Security Course with love-
cảm ơn bạn!
Cảm ơn bạn đã chia sẻ, về cơ bản mình đã hiểu những gì bạn trình bày. Nhưng mình có thêm một thắc mắc đó là chức năng của mình ở trên mỗi ngày sẽ chạy một lần thì nếu đặt lịch trong crontab mỗi phút nó sẽ chạy để thực hiện các command trong Scheduling thì có phải không được tối ưu đúng không ạ?
@HuyDQ do em không dùng seed run mà dùng query add tay vào database trên heroku => chỗ này nó chỉ hiểu theo kiểu temp thôi,, phải run bằng seed thì nó mới có data ( lần đầu gặp trường hợp này luôn )
Xịn quá sư phụ Tuấn
idollllll
Hi. Tks bạn đã góp ý.
2 yếu tố trên muốn nói về vấn đề async programming với multp-thread. Ví dụ thực tế khi coding với io bound task là 1 là network, bandwidth, disk i/o. Download nhiều file với nhiều thread chưa biết nhanh hơn được bao nhiêu mà có khi còn chậm hơn. Nó chỉ giúp ích vì thực hiện async task tránh block mainthread.
Vd t2, mặc dù là cpu bound nhưng vì task quá đơn giản. Thực thi rất nhanh so với việc fetch data từ memory nên context switch với multithread còn tốn hơn cả time xử lý nên lại chậm hơn singlethread.
rất hay. Thank tác giả mình thấy mysql-cluster có rất nhiều ưu điểm, lại là hàng chính chủ...không hiểu sao vẫn không được sử dụng rộng rãi !!
Thanks em
@kietheros yep, mỗi người thì có một yêu cầu + cách dùng riêng. Mình đang đồng bộ bằng Dropbox thấy rất ổn, tự mình quản lý files đến khi migrate sang tools khác cũng dễ dàng hơn
làm sao chuyển file 5h được vậy anh em cảm ơn ạ
Uit à,
A 7 năm ra trường, kì đầu năm 1,2 rớt ko đậu 1 môn nào
)
Theo mình hiểu thì bạn đang có các Model là
Flight(có thông tinstart_airport_id),Airport(cócity_id) đúng không nhỉ?Tức là
Citythì quan hệ vớiAirportlàhasMany, vàAirportthì có quan hệ vớiFlightlàhasManyVới câu hỏi của bạn thì mình hiểu là muốn tìm các chuyến bay mà xuất phát từ một trong các sân bay nằm trong thành phố
Không biết có phải như vậy không?
$startCityNày chủ yếu dùng để lưu kiến thức chung vào để tiện tra cứu thì ổn
Nhưng vẫn phải đặt trong crontab một cronjob thì nó mới gọi được cái Task Scheduling trong Laravel đúng không ạ? Theo như chức năng mình đang làm thì sẽ cần một cronjob vào 3h mỗi ngày, vì chức năng này chỉ gọi mỗi ngày một lần nên không cần đặt thêm lịch trong Scheduling thì có được không ạ?
Cám ơn anh với series rất tếu mà vẫn hữu ích, mong anh sẽ sớm hoàn thành series này.
Thế thì phải dịch ngược bằng IDA và patch lại thư viện .so đó thôi ạ