Manual:Job queue/vi

From MediaWiki.org

Jump to: navigation, search

Trong MediaWiki 1.6, một hàng đợi việc đã được đưa vào sử dụng để thực hiện một cách không đồng bộ những tác vụ dài hơi. Hàng đợi việc được thiết kế để chứa nhiều tác vụ ngắn bằng cách dùng xử lý theo gói. Chiều dài hàng đợi việc được hiển thị tại Thống kê trang tại đa số các wiki 1.6. Theo mặc định thì mỗi lần chạy một yêu cầu, một việc sẽ được lấy ra khỏi hàng đợi và được xử lý. Nếu việc xử lý hàng đợi quá nặng nề, bạn có thể giảm $wgJobRunRate bằng cách đặt một dòng giống như sau trong tập tin LocalSettings.php của bạn:

$wgJobRunRate = 0.01;

Một cách khác, bạn có thể chỉnh $wgJobRunRate xuống 0, rồi sau đó dùng lệnh việc cron để tẩy trống hàng đợi việc. Có thể làm bằng cách chạy maintenance/runJobs.php. Ví dụ:

0 0 * * * /usr/bin/php /var/www/wiki/maintenance/runJobs.php 2>&1 > /var/log/runJobs.log

Contents

[edit] Cập nhật bảng liên kết khi một tiêu bản bị thay đổi

MediaWiki 1.6 thêm một công việc vào hàng đợi việc cho mỗi bài viết sử dụng một tiêu bản. Mỗi công việc là một câu lệnh để đọc bài viết, bung các tiêu bản trong đó, và cập nhật bảng liên kết tương ứng. Vì vậy các sửa đổi trống không còn cần thiết nữa, dù phải mất thời gian một chút để hoàn thành các tác vụ lớn. Như thế có thể giúp giảm áp lực lên người ảo.

[edit] Mất hiệu lực bộ đệm HTML

Một loại tác vụ rộng hơn có thể dẫn đến mất hiệu lực bộ đệm (cache) HTML của một số lượng lớn các trang:

  • Thay đổi một hình ảnh (tất cả các hình thu nhỏ phải được kết xuất lại, và kích thước của chúng phải được tính toán lại)
  • Xóa một trang (tất cả các liên kết đến nó từ các trang khác phải thay đổi từ màu xanh sang màu đỏ)
  • Tạo hoặc phục hồi một trang (như ở trên, nhưng từ đỏ sang xanh)
  • Thay đổi một tiêu bản (tất cả các trang có nhúng tiêu bản phải cập nhật lại)

Ngoại trừ thay đổi tiêu bản, những tác vụ này không làm mất hiệu lực các bảng liên kết, mà chúng chỉ làm mất hiệu lực bộ đệm HTML của tất cả các trang liên kết đến trang đó, hoặc sử dụng hình ảnh đó. Việc làm mất hiệu lực bộ đệm của một trang là một tác vụ ngắn; chỉ cần cập nhật một trường cơ sở dữ liệu rồi gửi một gói multicast để xóa bộ đệm. Nhưng nếu có hơn 1000 việc phải làm, sẽ mất thời gian. Theo mặc định, những công việc được thêm vào khi cần làm mất hiệu lực hơn 500 trang, mỗi công việc tương ứng 500' tác vụ.

[edit] Các giá trị thực tế

Khi có lượng tải thấp, hàng đợi việc có thể sẽ là zero. Tại Wikimedia, trên thực tế, hàng đợi việc hầu như không bao giờ zero cả. Vào những giờ cao điểm, nó có thể lên tới vài trăm đến cả ngàn. Trong một ngày bận rộn, có thể là cả triệu, nhưng có thể nhanh chóng dao động trong khoảng 10% hoặc hơn.[1]

[edit] Xem thêm