Delayed Job, Sidekiq, v.b. arkaplan iş araçlarını kullanmanız için ortak bir arayüz sunar. • Active Job API kullanarak arkaplan işlemlerinizi kapsüllersiniz. • Ön tanımlı olarak gelmektedir. Sadece adaptörünüzü seçmeniz yeterlidir.
Belirli bir zaman sonra çalıştırmak: ProcessVideoJob.set(wait: 1.week) .perform_later video ProcessVideoJob.set(wait_until:Date.tomorrow.noon) .perform_later video
belirli aşamalara erişmenize ve işlemler yapmanıza izin verir. before_enqueue do |job| # do something with the job instance end around_perform do |job, block| # do something before perform block.call # do something after perform end • before_enqueue • around_enqueue • after_enqueue • before_perform • around_perform • after_perform
diliminde gönderilmek üzere kuyruğa atılacaktır. UserMailer.welcome(@user).deliver_later • :wait, :wait_until ve :queue opsiyonlarını tıpkı Active Job’daki gibi kullanabilirsiniz.
ID oluşturulur ve bir URI üzerinden erişilebilir hale getirilir. irb> video.to_global_id.to_s => “gid://app/Video/1 • Active Job objelere ulaşmak için Global ID’yi kullanarak objeleri serialize veya deserialize yapar. • Böylelikle örneğin Active Record katmanındaki modellere, arkaplanda çalışan iş parcacıkları arasından rahatlıkla erişebilirsiniz.
ve find_by methodları 2x daha hızlı çalışmaya başladı. • Oluşturulan SQL sorgu cümleciklerinin statik kısımlarının ön belleğe alınması ve sonraki çağrılarda tekrar kullanılmasını sağlar. • Aaron Patterson tarafından tasarlanmıştır. Detaylar için bloğuna göz atınız.
# SELECT * FROM posts WHERE id = ? Post.find(2) # Dana önce önbelleğe alınan SQL cümlesi doğrudan # doğrudan çalıştırılır Post.find_by_title('first post') Post.find_by_title('second post') post.comments post.comments(true)
• Herhangi bir hata meydana gelip, bir exception fırladığında uygulama önyüzünde otomatik olarak devreye girer. • Eğer isterseniz doğrudan herhangi bir view katmanından da viewer helper’ını kullanarak doğrudan çağırabilirsiniz. • Alternatif olarak better_errors gem’i inceleyebilirsiniz. <%= console %>
DSL’ine eklenen yeni komutlar sayesinde tablolarınıza yabancı anahtarları (foreign key) eklemenize veya çıkarmanıza izin verir hale geldi. • Şimdilik sadece mysql, mysql2 ve postgresql adaptörleri yabancıl anahtarları desteklemektedir.
çıkarılmıştır. • respond_with ve respond_to işlevleri 'responders', '~> 2.0' gem’ine taşındı. Bu işlevler için Gemfile’a bu gem’in eklenmesi gerekiyor. • Rack katmanından gelen bir değişiklik nedeniyle default olarak http://localhost artık 0.0.0.0 adresini dinlemeye başlamıştır.