2012-06-03 8 views
18

Ich bin neu auf delayed_job und ich fange an, meine eigenen "benutzerdefinierten Jobs" zu schreiben. Jeder benutzerdefinierte Job ist im Grunde nur eine reguläre Ruby-Klasse, aber ich bin mir nicht sicher, wo diese benutzerdefinierten Job-Klassen normalerweise in der Verzeichnisstruktur des Projekts gespeichert werden.Rails + Verzögerter Job: Wo ist der richtige Speicherort für benutzerdefinierte Jobklassen?

Ich denke lib, aber lib scheint an diesem Punkt eine Junk-Schublade zu sein:/

Danke (vielleicht wenn ok, das ist) !!

+1

Ich habe einen 'delayed_jobs'-Ordner unter '/ app' erstellt, aber es ist Geschmackssache :) – apneadiving

+1

Ich habe einige in' lib/', einige in' app/models/'und einige, die innere Klassen in anderen sind Klassen. Ich habe hier nur eine Nicht-Antwort: setze sie dort hin, wo es Sinn macht. –

+0

@apneadiving nennst du dann einfach deine Klassen 'WhateverJob'? –

Antwort

16

Der übliche Weg dafür ist jobs Ordner unter app Ordner zu erstellen. Aber das Einzige, was Sie beachten sollten, ist, dass sie Ihre Dateien sind, also tun Sie es auf eine Weise, die Sie am bequemsten finden.

+0

Wählen Sie dies als die Antwort, weil es scheint hier üblich zu sein, und es ist die Art, wie ich entschied, mit meiner App zu gehen. Vielen Dank! –

+2

hinzufügen Ich habe eine Sache vergessen ... Sie können einen Job in einem Ihrer Modelle platzieren (falls der Job direkt mit diesem Modell verbunden ist) und verwenden Sie 'handle_asynchronously: method_name' –

+1

danke! Ich habe das irgendwo in der Dokumentation (oder im Stapel) gelesen! 'handle_asynchronously: my_method' ist gleichbedeutend mit' delay.my_method' –

Verwandte Themen