
Rolling deploys create a race condition where newly enqueued Sidekiq jobs reference a class that old worker processes haven't loaded yet, causing NameError crashes. The standard fix—two-phase deploys or feature flags—works but adds manual overhead to every deploy. The author built sidekiq-requeue_missing_class, a Sidekiq server middleware gem that intercepts jobs with unresolvable class names and requeues them with a configurable delay instead of raising. It handles both native Sidekiq and ActiveJob payloads, uses Object.const_get (the same path Sidekiq uses) so Rails autoloading works correctly, and gives up after a configurable max_requeues count so genuinely broken class names still surface as real errors. The gem doesn't help with incompatible argument changes—that still requires two-phase deploys.
Nguồn: https://dmitrytsepelev.dev/sidekiq-requeue-missing-class. 8sync News chỉ tóm tắt và dẫn link; bản quyền nội dung thuộc tác giả và nguồn gốc.

Hướng dẫn tạo lệnh gạch chéo (skills) cho Claude nhằm truy vấn dữ liệu ứng dụng Rails sản xuất. Ví dụ xây dựng lệnh /analytics biến Claude thành nhà phân tích dữ liệu, chạy truy vấn ActiveRecord chỉ đọc qua bin/rails runner để trả lời câu hỏi kinh doanh về khách hàng, đơn hàng và doanh thu. Tệp lệnh thiết lập quy tắc nghiêm ngặt: chỉ truy vấn đọc, kiểm tra lược đồ trước, giới hạn 5–6 bước truy vấn lặp, và chuyển đổi tiền tệ từ cent sang dollar khi hiển thị.
Lập trình viên cần đọc bài này để học cách tích hợp các công cụ AI vào ứng dụng Rails một cách hiệu quả, giúp tự động hóa phân tích dữ liệu và trả lời câu hỏi kinh doanh mà không cần viết thêm mã thủ công.

Thay vì tạo lớp ActiveJob mỏng để gọi phương thức đơn lẻ trong file recurring.yml, lập trình viên Ruby on Rails có thể sử dụng khóa command: để gọi trực tiếp phương thức lớp Ruby thuần. Cách này giảm boilerplate, giữ logic trong đối tượng Ruby thuần, và chỉ cần worker cấu hình cho queue solid_queue_recurring. Có thể ghi đè queue cho mỗi tác vụ.
Lập trình viên Ruby on Rails nên đọc bài này để tiết kiệm thời gian và tránh việc tạo lớp ActiveJob thừa khi chỉ cần xử lý nhiệm vụ định kỳ đơn giản, đồng thời tối ưu hóa cấu trúc mã bằng cách sử dụng Solid Queue một cách hiệu quả.
Bảng tham chiếu tương thích này liệt kê phiên bản JRuby từ 9.2 đến 10.1, bao gồm mức ngôn ngữ Ruby, phiên bản Java tối thiểu và phiên bản Rails hỗ trợ. JRuby 10 cải thiện thời gian khởi động nhờ AppCDS và Project CRaC, trong khi lợi thế của JRuby so với CRuby MRI bao gồm đa luồng thực sự (không có GVL), truy cập hệ sinh thái JVM và triển khai dưới dạng một artifact duy nhất.
Lập trình viên phát triển ứng dụng Rails cần tham khảo bảng so sánh này để chọn phiên bản JRuby phù hợp với yêu cầu Ruby version, Java cốt lõi và Rails version, giúp tối ưu hiệu năng, tương thích và triển khai nhanh chóng.

André Arko giới thiệu Spinel Cooperative, một cooperative do người lao động sở hữu mà ông đã xây dựng trong một năm, cung cấp dịch vụ tư vấn chuyên môn về RubyGems, Rails, CI và năng suất phát triển phần mềm. Bài viết chỉ là giới thiệu ngắn gọn, liên kết đến thông báo đầy đủ trên blog của Spinel Cooperative.
Là người phát triển Ruby/Rails, bạn nên tìm hiểu Spinel vì đây là một mô hình hợp tác công việc mới mang đến giải pháp chuyên nghiệp hóa cho các dự án RubyGems và CI/CD, giúp nâng cao hiệu quả và sự độc lập của đội ngũ kỹ thuật.
This week in Rails covers several notable changes: a fix making add_foreign_key with if_not_exists: true properly reversible in migrations; ActiveJob retry_on now accepting Float values for :wait; a new ActiveSupport::ProxyLogger that forwards logs to another logger at an independent severity level; deprecation of Mime::SET, Mime::LOOKUP, and Mime::EXTENSION_LOOKUP in favor of public API methods; inclusion of call options in Cache#exist? instrumentation payloads; improved PostgreSQL timestamp/time precision reporting in Active Record; and a new product reviews tutorial added to the Rails guides.
The Rails Foundation has completed its Learn Rails tutorial series with the final installment: Product Reviews. The series, created in partnership with Chris Oliver, guides beginners through building a real-world e-commerce application step by step. The four tutorials cover creating a store, user authentication and settings, wishlists, and now product reviews. The series aims to teach practical, production-style Rails features to new developers.
A practical guide for engineering leaders inheriting a large Rails monolith, focused on how to triage and prioritize production problems effectively. Key themes include: why the loudest errors in trackers are rarely the most costly, how to surface silent failures (latency, data integrity, developer experience) that never appear in error trackers, and how to build a weighted triage model in Ruby that scores issues across customer, financial, developer, and business dimensions using non-linear severity tiers. The post also covers alert fatigue and normalization of deviance, the clustering of failures in unowned code, and how flipping the axis of ownership tooling (e.g., Packwerk) from consumers to producers makes violations actionable. References Google SRE golden signals, DORA metrics, Accelerate, and Adam Tornhill's code hotspot analysis.

GitLab 18.8.11 là bản vá lỗi ngoài chu kỳ cho các phiên bản Community và Enterprise, khắc phục lỗi hồi quy từ nâng cấp Rails 7.2 khiến kết nối database không được trả về pool khi bật cân bằng tải database. Bản vá này đảm bảo ổn định cho người dùng nâng cấp lên GitLab 18.8.
Lập trình viên phát triển ứng dụng trên GitLab nên đọc để tránh rủi ro về độ ổn định khi nâng cấp lên phiên bản 18.8, đặc biệt khi sử dụng load balancing cơ sở dữ liệu, vì patch này sửa lỗi khiến kết nối không được trả về pool, gây trễ hoặc lỗi hoạt động.