2011-09-13 24 views
6

Tôi đang tìm một cách dễ dàng để tích hợp thử nghiệm chia thành ứng dụng Rails 3 của tôi. Tôi đã nghiên cứu và tìm thấy hai lựa chọn thay thế mà dường như được cập nhật cho Rails 3 ...Rails 3 A/B Split Test System Không có Redis?

Vanity: http://vanity.labnotes.org

Split: https://github.com/andrew/split

Tuy nhiên, cả hai sử dụng Redis, mà chủ nhân của tôi không muốn sử dụng. Tôi nhận thấy rằng Vanity có thể được sử dụng với ActiveRecord thay vào đó, nhưng tôi đã tự hỏi nếu có ai có kinh nghiệm với việc thiết lập một hệ thống kiểm tra chia tách A/B mà không cần sử dụng Redis và cấu hình nào bạn muốn giới thiệu?

+0

bạn đã tìm thấy câu trả lời tôi có cùng một vấn đề :( – Naveed

+0

tôi đang làm việc trên thêm nhiều bộ điều hợp cơ sở dữ liệu để tách, bạn có thể thực hiện theo tiến trình tại đây: https://github.com/andrew/split/issues/37 –

+0

https://www.ruby-toolbox.com/categories/A_B_Testing – Chloe

Trả lời

3

Tôi không có kinh nghiệm với Split nhưng tôi đã thiết lập trang điểm không có Redis. Các cách để làm điều này là để thêm dòng sau vào cấu hình của bạn/môi trường/development.rb

Vanity.playground.establish_connection :development 

Sau đó, tạo một tập tin gọi vanity.yml dưới config/và thêm dòng sau:

development: 
    adapter: active_record 
    active_record_adapter: mysql 
    host: localhost 
    database: database_name 
    username: mysql_username 
    password: mysql_password 
0

Đối với những người bạn đang tìm kiếm một giải pháp nhẹ đơn giản để sử dụng cho thử nghiệm tách và khói, thì tôi đã phát triển viên đá quý eeny-meeny. Nó không yêu cầu bạn sử dụng Redis hoặc bất cứ thứ gì giống như nó. Nó được xây dựng như là phần mềm trung gian và xử lý mọi thứ dựa trên cookie.

Tất cả các bạn cần phải sử dụng nó là xác định thử nghiệm của bạn (s) và sử dụng người giúp đỡ thí nghiệm, nơi bạn cần đến chúng:

if participates_in?(:my_experiment, variation_id: :my_variation) 
    # variation specific code 
else 
    # normal code 
end 

if smoke_test?(:my_secret_test) 
    # smoke test specific code 
else 
    # normal code 
end