CÁCH CHUYỂN CÁC HÀM TRONG CONTROLLER THÀNH SERVICE RRAILS

     
Khi cách tân và phát triển một vận dụng Ruby on Rails , chúng ta cũng có thể thấy bản thân có những việc ứng dụng phải được triển khai không đồng bộ. Cách xử lý dữ liệu, giữ hộ email hàng loạt hoặc can dự với những API phía bên ngoài là tất cả các lấy một ví dụ về quá trình có thể được thực hiện không đồng hóa với các công việc nền . Sử dụng các công việc nền có thể nâng cao hiệu suất ứng dụng của bạn bằng cách giảm tải các việc có thể tốn nhiều thời gian xuống mặt hàng đợi cách xử trí nền, giải phóng chu kỳ yêu mong / đánh giá ban đầu.

Sidekiq là giữa những khung các bước nền được sử dụng rộng rãi hơn mà bạn cũng có thể triển khai trong vận dụng Rails. Nó được hỗ trợ bởi Redis , một repository quý hiếm khóa trong bộ nhớ lưu trữ được biết đến với tính linh hoạt với hiệu suất. Sidekiq áp dụng Redis như một siêu thị quản lý công việc để xử lý hàng nghìn công việc mỗi giây .

Bạn đang xem: Cách chuyển các hàm trong controller thành service rrails

Trong hướng dẫn này, các bạn sẽ thêm Redis với Sidekiq vào trong 1 ứng dụng Rails hiện có. Bạn sẽ tạo một tập hợp các lớp công nhân Sidekiq và những phương thức nhằm xử lý:

cài đặt lên hàng loạt thông tin cá bự có nguy hại tuyệt chủng lên database vận dụng từ tệp tin CSV vào repository dự án. Việc vứt bỏ dữ liệu này.

khi bạn hoàn tất, bạn sẽ có một vận dụng demo sử dụng worker với job nhằm xử lý những việc không đồng bộ. Đây đang là nền tảng tốt để bạn thêm nhân lực và công việc vào ứng dụng của riêng rẽ mình, thực hiện hướng dẫn này như một điểm khởi đầu.

Yêu ước

Để làm theo hướng dẫn này, bạn phải :

bước 1 - Nhân phiên bản Dự án và cài đặt Phụ thuộc

Bước đầu tiên của ta sẽ là sao chép repository rails-bootstrap từ tài khoản GitHub của xã hội DigitalOcean . Kho tàng trữ này bao hàm mã từ setup được diễn đạt trong bí quyết thêm Bootstrap vào ứng dụng Ruby on Rails , giải thích cách thêm Bootstrap vào dự án Rails 5 hiện nay có.

Sao rails-sidekiq repository vào một trong những folder mang tên rails-sidekiq :

git clone https://github.com/do-community/rails-bootstrap.git rails-sidekiq Điều hướng đến folder rails-sidekiq :

cd rails-sidekiq Để thao tác với mã, trước tiên các bạn cần cài đặt các phụ thuộc của dự án, được liệt kê vào Gemfile của nó. Bạn cũng cần được thêm sidekiq gem vào dự án để gia công việc với Sidekiq và Redis.

Mở Gemfile của dự án để chỉnh sửa, sử dụng nano hoặc editor chúng ta quen sử dụng :

nano Gemfile Thêm quà vào bất kỳ đâu trong các dựa vào dự án bao gồm (ở trên các phụ thuộc phát triển):


. . . # Reduces boot times through caching; required in config/boot.rb gem "bootsnap", ">= 1.1.0", require: false gem "sidekiq", "~>6.0.0" group :development, :test bởi . . . lưu file khi chúng ta hoàn tất bài toán thêm đá quý.

thực hiện lệnh sau để setup các viên ngọc:

bundle install các bạn sẽ thấy trong kết quả rằng redis gem cũng được thiết đặt như một yêu ước cho sidekiq .

Tiếp theo, các bạn sẽ cài để các phụ thuộc Yarn của bạn . Bởi vì dự án Rails 5 này đã có sửa thay đổi để phân phối nội dung với webpack, các phụ thuộc JavaScript của nó hiện được thống trị bởi Yarn. Điều này nghĩa là buộc phải phải cài đặt và xác minh các nhờ vào được liệt kê trong tệp tin package.json của dự án.

Chạy yarn install để thiết đặt các nhờ vào sau:

yarn install Tiếp theo, chạy dịch chuyển database của bạn:

rails db:migrate Khi quy trình di chuyển của doanh nghiệp hoàn tất, chúng ta cũng có thể kiểm tra ứng dụng đảm bảo rằng áp dụng đang hoạt động như muốn đợi. Khởi rượu cồn server của người tiêu dùng trong toàn cảnh gói local của người sử dụng bằng lệnh sau nếu như khách hàng đang làm việc local :

bundle exec rails s nếu khách hàng đang làm việc trên một hệ thống phát triển, bạn cũng có thể khởi động ứng dụng bằng:

bundle exec rails s --binding=your_server_ip Điều đào bới localhost:3000 hoặc http:// your_server_ip :3000 . Các bạn sẽ thấy trang đích sau:

*

Để chế tác một nhỏ cá to mới, hãy nhấp vào nút Nhận thông tin cá mập , nút này đã đưa bạn đến tuyến đường sharks/index :

*

Để xác minh ứng dụng đang hoạt động, ta rất có thể thêm một số trong những thông tin test vào nó. Nhấp vào Cá béo mới . Bạn sẽ được yêu mong nhập thương hiệu user ( sammy ) với password ( cá mập ), nhờ setup xác thực của dự án.

trên trang Cá bự mới , nhập “Great White” vào ngôi trường Tên với “Đáng sợ” vào trường Sự kiện :

*

nhấp vào nút Create Shark để chế tạo ra cá mập. Khi chúng ta thấy rằng cá mập của người sử dụng đã được tạo, bạn có thể giết server bằng CTRL+C

Đến đây bạn đã cài đặt các phụ thuộc cần thiết cho dự án của công ty và kiểm tra chức năng của nó. Tiếp theo, bạn cũng có thể thực hiện một số chuyển đổi đối với ứng dụng Rails để triển khai việc với các tài nguyên cá lớn đang bị rình rập đe dọa của bạn.

bước 2 - Tạo cỗ điều khiển cho những nguồn cá phệ nguy cấp

Để thao tác làm việc với những nguồn khoáng sản cá mập nguy cấp của ta , ta sẽ thêm một quy mô mới vào ứng dụng và một bộ điều khiển và tinh chỉnh sẽ điều hành và kiểm soát cách thông tin về những loài cá phệ nguy cấp cho được hiển thị cho user . Mục tiêu ở đầu cuối của ta là giúp user rất có thể tải lên một lượng lớn thông tin về chủng loại cá khủng có nguy cơ tiềm ẩn tuyệt chủng cơ mà không chặn tính năng tổng thể của áp dụng của ta cùng xóa thông tin đó khi họ không đề nghị nữa.

Đầu tiên, hãy sinh sản một quy mô Endangered mang lại những con cá mập có nguy hại tuyệt chủng của ta . Ta sẽ bao gồm 1 lĩnh vực chuỗi vào bảng database của ta mang lại tên cá mập, với một lĩnh vực chuỗi cho Liên minh nước ngoài về Bảo tồn vạn vật thiên nhiên (IUCN) các loại để khẳng định mức độ nhưng mà mỗi cá mập tất cả nguy cơ.

Cuối cùng, cấu tạo mô hình của ta sẽ trùng với các cột trong tệp tin CSV nhưng mà ta sẽ sử dụng để tạo cài đặt lên sản phẩm loạt. Tệp này ở trong thư mục db và chúng ta cũng có thể kiểm tra câu chữ của nó bằng lệnh sau:

cat db/sharks.csv Tệp này chứa danh sách 73 loại cá béo nguy cấp cho và các trạng thái IUCN của chúng - vu là khủng hoảng bảo mật , vi nguy cấp và cr là cực kì nguy cấp.

quy mô Endangered của ta sẽ đối sánh tương quan với tài liệu này, chất nhận được ta tạo những version Endangered new từ tệp tin CSV này. Tạo quy mô bằng lệnh sau:

rails generate mã sản phẩm Endangered name:string iucn:string Tiếp theo, tạo nên một bộ điều khiển và tinh chỉnh Endangered với một hành vi index :

rails generate controller endangered index Điều này sẽ hỗ trợ cho ta điểm bắt đầu để xây dựng công dụng của vận dụng của ta , tuy nhiên ta cũng cần thêm những phương thức thiết lập cấu hình vào file tinh chỉnh và điều khiển mà Rails đã tạo nên ta .

Mở file đó ngay bây giờ:

nano app/controllers/endangered_controller.rb Rails đã cung cấp cho ta một phiên bản phác thảo nhằm ta có thể bắt đầu điền vào.

Trước tiên, ta cần xác minh những tuyến phố ta yêu cầu để triển khai việc với tài liệu của ta . Nhờ vào lệnh generate controller , ta bao gồm một cách tiến hành index để bắt đầu. Điều này sẽ đối sánh với chế độ xem index , khu vực ta sẽ reviews cho user tùy chọn sở hữu lên những bé cá béo có nguy cơ tuyệt chủng.

mặc dù nhiên, ta cũng cần xử lý các trường vừa lòng user có thể đã cài đặt lên các cá mập; họ sẽ không cần tùy chọn cài đặt lên vào trường đúng theo này. Bằng phương pháp nào đó, ta cần đánh giá xem bao gồm bao nhiêu trường vừa lòng của lớp Endangered cấp đã tồn tại, vày nhiều trường hợp cho thấy tải lên một loạt đã xảy ra.

Hãy ban đầu bằng cách tạo một cách thức private set_endangered đã lấy từng cá thể của lớp Endangered từ bỏ database . Thêm mã sau vào file :


class EndangeredController before_action :set_endangered, only: <:index, :data> def index end private def set_endangered
endangered chỉ được đặt đến index và các tuyến data , đây sẽ là nơi ta xử lý tài liệu cá khủng có nguy cơ tuyệt chủng.

Tiếp theo, thêm mã sau vào cách làm index để khẳng định đường dẫn đúng mực cho user truy vấn phần này của ứng dụng:


endangered.length > 0 redirect_to endangered_data_path else render "index" kết thúc end . . . Nếu có khá nhiều hơn 0 trường hợp thuộc lớp Endangered của ta , ta sẽ chuyển qua làn đường khác user mang đến tuyến data , khu vực họ có thể xem thông tin về cá mập mà người ta đã tạo. Giả dụ không, họ vẫn thấy chính sách xem index .

Tiếp theo, dưới phương pháp index , hãy thêm một phương thức data , cách thức này sẽ tương quan với chế độ xem data :


endangered.length > 0 redirect_to endangered_data_path else render "index" kết thúc end def data kết thúc . . . Tiếp theo, ta đang thêm một cách làm để từ bỏ xử lý câu hỏi tải lên dữ liệu. Ta đã gọi cách thức này là upload cùng nó sẽ điện thoại tư vấn một lớp người công nhân Sidekiq và cách thức để thực hiện tải lên dữ liệu từ tệp tin CSV. Ta sẽ tạo định nghĩa đến lớp worker này, AddEndangeredWorker , trong bước tiếp theo.

Bây giờ, hãy thêm mã sau vào tệp tin để điện thoại tư vấn Sidekiq worker triển khai tải lên:


. . . Def data kết thúc def upload csv_file = File.join Rails.root, "db", "sharks.csv" AddEndangeredWorker.perform_async(csv_file) redirect_to endangered_data_path, notice: "Endangered sharks have been uploaded!" end . . . Bằng phương pháp gọi cách thức perform_async bên trên lớp AddEndangeredWorker , áp dụng file CSV làm cho đối số, mã này bảo đảm dữ liệu cá bự và quá trình tải lên được chuyển tới Redis. Những công nhân của Sidekiq cơ mà ta sẽ setup giám cạnh bên hàng đợi các bước và sẽ ý kiến khi vạc sinh các bước mới.

sau khoản thời gian gọi perform_async , thủ tục upload của ta vẫn chuyển đào bới đường dẫn data , nơi user hoàn toàn có thể nhìn thấy những con cá phệ được tải lên.

Tiếp theo, ta vẫn thêm một destroy cách thức để hủy hoại các dữ liệu. Thêm mã sau vào dưới phương pháp upload :


. . . Def upload csv_file = File.join Rails.root, "db", "sharks.csv" AddEndangeredWorker.perform_async(csv_file) redirect_to endangered_data_path, notice: "Endangered sharks have been uploaded!" over def destroy RemoveEndangeredWorker.perform_async redirect_to root_path end . . . Như là như phương pháp upload của ta , cách làm destroy của ta gồm một perform_async call perform_async bên trên lớp RemoveEndangeredWorker - người công nhân Sidekiq khác mà lại ta sẽ tạo. Sau khi gọi phương thức này, nó sẽ chuyển làn đường user mang đến đường dẫn ứng dụng root .

Tệp đã xong sẽ y như sau:


class EndangeredController 0 redirect_to endangered_data_path else render "index" end end def data kết thúc def upload csv_file = File.join Rails.root, "db", "sharks.csv" AddEndangeredWorker.perform_async(csv_file) redirect_to endangered_data_path, notice: "Endangered sharks have been uploaded!" kết thúc def destroy RemoveEndangeredWorker.perform_async redirect_to root_path kết thúc private def set_endangered
endangered = Endangered.all kết thúc end lưu lại file khi bạn hoàn tất chỉnh sửa.

Bước sau cuối trong việc củng cố những tuyến của vận dụng của ta , ta vẫn sửa đổi mã vào config/routes.rb , file khu vực khai báo tuyến đường của ta .

Mở file đó ngay bây giờ:

nano config/routes.rb Tệp hiện có dạng như sau:


Rails.application.routes.draw vì get "endangered/index" get "home/index" resources :sharks bởi vì resources :posts kết thúc root "home#index" # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html kết thúc Ta cần cập nhật file để bao hàm các tuyến nhưng ta đã xác minh trong bộ điều khiển của công ty : data , upload và destroy . Con đường data của ta đang trùng cùng với yêu mong GET nhằm truy xuất dữ liệu cá mập, trong khi những tuyến upload và destroy của ta đã ánh xạ tới những yêu mong POST cài đặt lên với hủy dữ liệu đó.

Thêm mã sau vào file để xác định các tuyến đường sau:


Rails.application.routes.draw bởi vì get "endangered/index" get "endangered/data", to: "endangered#data" post "endangered/upload", to: "endangered#upload" post "endangered/destroy", to: "endangered#destroy" get "home/index" resources :sharks vì resources :posts over root "home#index" # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html kết thúc lưu lại file khi chúng ta hoàn vớ chỉnh sửa.

Với quy mô và bộ điều khiển Endangered của bạn, giờ đây bạn có thể chuyển sang khẳng định các lớp người công nhân Sidekiq của chúng ta .

bước 3 - xác định công nhân Sidekiq

Ta đã gọi các phương thức perform_async trên các công nhân Sidekiq trong bộ điều khiển của ta , nhưng lại ta vẫn rất cần phải tự tạo những công nhân đó.

Xem thêm: Mẫu Biên Bản Họp Thành Viên Hợp Tác Xã Mới Nhất Năm 2022, Mẫu Biên Bản Đại Hội Thành Viên Hợp Tác Xã

Đầu tiên, hãy tạo thư mục workers mang lại công nhân:

mkdir app/workers Mở file đến công nhân AddEndangeredWorker :

nano app/workers/add_endangered_worker.rb Trong tệp tin này, ta sẽ thêm mã được cho phép ta thao tác làm việc với dữ liệu trong tệp tin CSV của ta . Đầu tiên, thêm mã vào file sẽ tạo lớp, bao hàm thư viện Ruby CSV và bảo vệ lớp này chuyển động như một Sidekiq Worker:


class AddEndangeredWorker require "csv" include Sidekiq::Worker sidekiq_options retry: false over Ta cũng bao gồm tùy chọn retry: false bảo vệ rằng Sidekiq ko thử mua lên lại vào trường thích hợp không thành công.

Tiếp theo, thêm mã cho tác dụng perform :


class AddEndangeredWorker require "csv" include Sidekiq::Worker sidekiq_options retry: false def perform(csv_file) CSV.foreach(csv_file, headers: true) vị |shark| Endangered.create(name: shark<0>, iucn: shark<1>) kết thúc end end các perform phương thức nhận đối số tự perform_async phương thức quy định tại các điều khiển, vì chưng vậy điều quan trọng là các giá trị thông số được liên kết. Ở đây, ta gửi vào csv_file , biến đổi ta đã xác định trong bộ điều khiển và ta áp dụng phương thức foreach từ tủ sách CSV nhằm đọc các giá trị trong file . Đặt headers: true đến vòng lặp này đảm bảo số 1 tiên của file được xem như là một mặt hàng tiêu đề.

Sau đó, khối đọc các giá trị từ tệp tin vào những cột nhưng mà ta đặt cho quy mô Endangered của ta : name cùng iucn . Chạy vòng lặp này sẽ tạo nên các version Endangered cho mỗi mục nhập trong file CSV của ta .

khi bạn đã sửa đổi xong, hãy lưu file .

Tiếp theo, ta sẽ tạo một worker để xử lý bài toán xóa dữ liệu này. Mở file cho lớp RemoveEndangeredWorker :

nano app/workers/remove_endangered_worker.rb Thêm mã để khái niệm lớp và bảo vệ nó thực hiện thư viện CSV với các công dụng như một Sidekiq Worker:


class RemoveEndangeredWorker include Sidekiq::Worker sidekiq_options retry: false end Tiếp theo, thêm một phương thức perform để xử lý vấn đề hủy tài liệu cá mập có nguy hại tuyệt chủng:


class RemoveEndangeredWorker include Sidekiq::Worker sidekiq_options retry: false def perform Endangered.destroy_all end end cách tiến hành perform call destroy_all trên lớp Endangered , nó vẫn xóa toàn bộ các cá thể của lớp khỏi database .

lưu giữ file khi bạn hoàn vớ chỉnh sửa.

với nhân viên của khách hàng tại chỗ, bạn có thể chuyển sang tạo bố cục tổng quan cho các chính sách xem endangered và những mẫu cho chế độ xem index cùng data của bạn, để user hoàn toàn có thể tải lên và xem những loài cá mập có nguy cơ tiềm ẩn tuyệt chủng.

bước 4 - Thêm bố cục và xem mẫu

Để user hoàn toàn có thể thưởng thức tin tức về loại cá mập có nguy cơ tuyệt chủng của họ, ta cần xử lý hai điều: bố cục tổng quan cho các chế độ xem được khẳng định trong bộ điều khiển endangered của ta và những mẫu cơ chế xem cho index và chế độ xem data .

hiện tại, ứng dụng của ta sử dụng bố cục tổng quan toàn ứng dụng, nằm tại vị trí app/views/layouts/application.html.erb , một phần chuyển và bố cục cho cơ chế xem sharks . Kiểm tra sắp xếp ứng dụng cho một khối nội dung, được cho phép ta nhằm tải sắp xếp khác nhau trên cửa hàng đó một phần của áp dụng user của ta được tham gia với: cho trang chủ index trang, họ sẽ thấy một cha trí, với cho bất kỳ quan điểm tương quan đến cá bự cá nhân, họ vẫn thấy chiếc khác.

Ta hoàn toàn có thể sử dụng lại bố cục sharks cho các chế độ xem endangered vì chưng định dạng này cũng sẽ chuyển động để trình diễn dữ liệu cá khủng hàng loạt.

xào nấu file bố cục tổng quan sharks để tạo bố cục endangered :

cp app/views/layouts/sharks.html.erb app/views/layouts/endangered.html.erb Tiếp theo, ta sẽ thao tác làm việc để tạo các mẫu chính sách xem cho các chính sách xem index và data của ta .

Mở mẫu index trước:

nano app/views/endangered/index.html.erb Xóa mã bảng soạn sẵn và cụ vào đó thêm mã sau, mã này sẽ cung cấp cho user một trong những thông tin thông thường về những danh mục nguy cấp và hỗ trợ cho bọn họ tùy chọn cài đặt lên tin tức về những loài cá bự có nguy hại tuyệt chủng:


Endangered Sharks

International Union for Conservation of Nature (ICUN) statuses: vu: Vulnerable, en: Endangered, cr: Critically Endangered

"btn btn-primary btn-sm" %> "btn btn-primary btn-sm" %>

form_tag giúp cho việc sở hữu lên dữ liệu rất có thể thực hiện tại được bằng phương pháp trỏ hành vi đăng đến đường truyền endangered_upload_path form_tag - tuyến đường mà ta đã khẳng định cho các video tải lên của khách hàng . Nút gửi, được tạo bởi submit_tag , kể user "Import Endangered Sharks" .

xung quanh mã này, ta đã bao gồm một số tin tức chung về mã ICUN để user có thể diễn giải tài liệu họ đã thấy.

giữ file khi bạn hoàn tất chỉnh sửa.

Tiếp theo, mở một file cho cơ chế xem data :

nano app/views/endangered/data.html.erb Thêm mã sau, mã này đã thêm một bảng với tài liệu về chủng loại cá khủng có nguy cơ tuyệt chủng:


Endangered Sharks

International Union for Conservation of Nature (ICUN) statuses: vu: Vulnerable, en: Endangered, cr: Critically Endangered


"btn btn-primary btn-sm" %> "btn btn-primary btn-sm" %>

Mã này bao gồm các mã tinh thần ICUN với một bảng Bootstrap mang lại dữ liệu hiệu quả . Bằng cách lặp qua trở nên
endangered của ta , ta xuất tên cùng trạng thái ICUN của mỗi nhỏ cá béo vào bảng.

dưới bảng, ta tất cả một tập phù hợp khác của form_tags và submit_tags , được đăng lên đường destroy bằng phương pháp cung cung cấp cho user tùy lựa chọn "Delete Endangered Sharks" .

giữ file khi chúng ta hoàn vớ chỉnh sửa.

Sửa đổi sau cùng mà ta sẽ tiến hành đối với cơ chế xem của bạn sẽ nằm trong chế độ xem index links với bộ điều khiển home của ta . Bạn cũng có thể nhớ lại rằng dạng coi này được đặt làm root của vận dụng trong config/routes.rb .

Mở tệp tin này để chỉnh sửa:

nano app/views/home/index.html.erb search cột vào hàng cho biết thêm Sharks are ancient :


Sharks are ancient and SOME are in danger

There is evidence to suggest that sharks lived up khổng lồ 400 million years ago. Without our help, some could disappear soon.

:get, :class => "btn btn-primary btn-sm"%>


Ta đã bao gồm 1 lời kêu gọi hành vi để user tìm hiểu thêm về chủng loại cá khủng có nguy cơ tiềm ẩn tuyệt chủng, trước tiên bằng phương pháp chia sẻ một thông điệp bạo gan mẽ, tiếp nối thêm trình giúp đỡ button_to gửi yêu cầu GET đến tuyến index endangered của ta , cấp cho cho user quyền truy vấn vào phần kia của áp dụng . Từ bỏ đó, chúng ta sẽ có thể tải lên với xem tin tức về cá to có nguy hại tuyệt chủng.

lưu giữ file khi bạn hoàn tất chỉnh sửa.

với mã của công ty tại chỗ, chúng ta đã sẵn sàng chuẩn bị khởi động vận dụng và download lên một trong những cá mập!

cách 5 - Khởi cồn Sidekiq và bình chọn ứng dụng

trước khi khởi hễ ứng dụng, ta đề nghị chạy dịch chuyển trên database của chúng ta và khởi đụng Sidekiq để kích hoạt nhân viên cấp dưới của ta . Redis hẳn đã điều khiển xe trên server , nhưng mà ta hoàn toàn có thể kiểm tra để chắc chắn. Với toàn bộ những điều này, ta sẽ chuẩn bị kiểm tra ứng dụng.

Trước tiên, hãy khám nghiệm xem Redis có đang chạy không:

systemctl status redis bạn sẽ thấy tác dụng như sau:


rails db:migrate Đến đây bạn có thể khởi động Sidekiq trong bối cảnh gói dự án hiện tại của bạn bằng phương pháp sử dụng lệnh bundle exec sidekiq của bundle exec sidekiq :

bundle exec sidekiq các bạn sẽ thấy tác dụng như thay này, cho biết thêm Sidekiq đã sẵn sàng xử lý các công việc:


nếu bạn đang làm việc ứng dụng local , hãy áp dụng lệnh sau:

bundle exec rails s nếu khách hàng đang thao tác làm việc với một server phát triển, hãy chạy như sau:

bundle exec rails s --binding=your_server_ip Điều hướng đến localhost:3000 hoặc http:// your_server_ip :3000 vào trình duyệt. Bạn sẽ thấy landingpage sau:

*

Nhấp vào Cá lớn nào đang gặp gỡ nguy hiểm? cái nút. Vì các bạn chưa download lên bất kỳ loài cá khủng nguy cấp nào nên điều đó sẽ đưa các bạn đến chế độ xem index endangered :

*

Nhấp vào Nhập cá béo nguy cấp để nhập cá mập. Bạn sẽ thấy một thông tin trạng thái cho chính mình biết rằng cá mập đã được nhập:

*

Bạn cũng sẽ thấy phần bắt đầu của quá trình nhập. Làm mới website để xem toàn cục bảng:

*

dựa vào Sidekiq, quy trình tải lên 1 loạt lớn về cá mập có nguy cơ tuyệt chủng của ta đã thành công xuất sắc mà không đề nghị khóa trình duyệt hoặc can thiệp vào tính năng ứng dụng khác.

Nhấp vào nút Trang chủ làm việc cuối trang, nút này sẽ chuyển bạn trở lại trang chính của ứng dụng:

*

từ đây, nhấp vào Cá phệ nào đang chạm mặt nguy hiểm? lần nữa. Thao tác này hiện nay sẽ đưa các bạn trực tiếp đến chính sách xem data , vì bạn đã tải các cá mập lên.

Để kiểm tra chức năng xóa, hãy nhấp vào nút Xóa cá mập nguy cấp bên dưới bảng. Các bạn sẽ được chuyển hướng đến trang chủ vận dụng . Nhấp vào Cá bự nào đang gặp mặt nguy hiểm? một lần sau cùng sẽ đưa các bạn trở lại chế độ xem index , nơi bạn sẽ có tùy chọn cài đặt lên lại cá mập:

*

Ứng dụng của chúng ta hiện đang chạy với nhân viên cấp dưới Sidekiq tại chỗ, những người này sẵn sàng chuẩn bị xử lý công việc và bảo đảm user có trải nghiệm tốt khi làm việc với vận dụng của bạn.

kết luận

Đến đây bạn có một áp dụng Rails đang vận động với Sidekiq được kích hoạt, vấn đề này sẽ chất nhận được bạn tải các hoạt động tốn hèn xuống sản phẩm đợi các bước do Sidekiq quản lý và được Redis hỗ trợ. Điều này sẽ chất nhận được bạn cải thiện tốc độ và tác dụng của trang web khi chúng ta phát triển.

nếu như bạn muốn tham khảo thêm về Sidekiq, tài liệu là một trong nơi giỏi để tham khảo .

Xem thêm: Thi Tuyển Công Chức 2016 Hà Nội, Thi Tuyển Công Chức, Viên Chức 2016

Để đọc thêm về Redis, hãy xem thư viện khoáng sản Redis của ta . Bạn cũng có thể đọc thêm về giải pháp chạy một nhiều Redis được quản lý trên DigitalOcean bằng phương pháp xem tài liệu sản phẩm .