November 24, 2013

Gearman persistent queue with MySQL

Nguồn: https://blog.engineyard.com/wp-content/uploads/Gearman-Communication-Diagram-1.png
Theo mặc định, Gearman chạy với queue trên memory, tuy nhiên, nếu muốn sử dụng Gearman với tính năng persitence queue, chúng ta có thể kết hợp với MySQL và những tùy chọn khi khởi chạy Server Gearman. Bài viết sau sẽ hướng dẫn cách thiết lập Persistence Queue của Gearman

1 - Tạo table chứa các job queue của Gearman

CREATE TABLE `gearman_queue` (
  `unique_key` varchar(255) NOT NULL,
  `function_name` varchar(255) NOT NULL,
  `priority` int(11) DEFAULT NULL,
  `data` longblob,
  `when_to_run` bigint(20) DEFAULT NULL,
  PRIMARY KEY (`unique_key`,`function_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

2 - Chạy Gearman server với hỗ trợ Mysql

gearmand  --queue-type=MySQL --mysql-host=localhost --mysql-port=3306 --mysql-user=db_user --mysql-password=your_pw --mysql-db=gearman --mysql-table=gearman_queue

Xem thêm việc cài đặt Gearman trên Ubuntu 12.04
Bài viết được tham khảo tại http://gearman.info/gearmand/queues/mysql.html

2 comments:

  1. bạn có thể dịch tiếng Anh trong sơ đồ ra giúp mình k?



    hat hanh nhan

    ReplyDelete
    Replies
    1. Trong sơ đồ trên chỉ vài chữ tiếng Anh thôi, bạn có thể dùng từ điển xem thế nào, còn cái hình mình chôm từ nguồn khác, có ghi lại nguồn và mình ko muốn thay đổi những gì của tác giả này hết.
      Thanks bạn nhiều

      Delete