2012-06-03 23 views
18

Ben delayed_job için yeni ve kendi "özel işlerimi" yazmaya başlıyorum. Her özel iş temelde sadece normal bir ruby ​​sınıfıdır, ancak bu özel iş sınıflarının normal olarak projenin dizin yapısında nerede saklandığını bilmiyorum.Raylar + Gecikmeli İş: Özel iş sınıflarını depolamak için doğru yer neresidir?

Ben lib düşünüyorum ama lib bu noktada önemsiz çekmece gibi görünüyor:/(belki de bu olsa Tamam)

Teşekkür !!

+1

'/ app' altında bir' delayed_jobs' klasörü oluşturdum ama bu bir tat meselesi :) – apneadiving

+1

Bazılarında 'lib /', bazılarında 'app/models /' ve bazılarında iç sınıflar var. sınıflar. Burada sadece cevaplamam var: Onları mantıklı bir yere koyun. –

+0

@apneadiving daha sonra sınıflarınızı 'WhateverJob' olarak adlandırıyor musunuz? –

cevap

16

Bunun yaygın yolu, app klasörü altında jobs klasörü oluşturmaktır. Ama umursamanız gereken tek şey onların dosyalarınız olmasıdır, bu yüzden kendiniz için en rahat bulduğunuz şekilde yapın.

+0

Yanıt olarak bunu tercih ettim çünkü burada ortak görünmek gibi görünüyor ve bu benim app'ımla gitmeye karar verdim. Teşekkürler! –

+2

ekle bir şey unuttum ... modelinizden birine iş yerleştirebilirim (eğer iş bu modelle doğrudan ilişkiliyse) ve “handle_asynchronously: method_name” –

+1

'u kullanın! Aslında dokümanlardaki bir yerde (veya yığında) okudum! 'handle_asynchronously: my_method',' delay.my_method' ile eş anlamlıdır –