Rails + Delayed Job:存储自定义作业类的正确位置在哪里?

21

我刚开始接触 delayed_job 并想要编写自己的“自定义作业”。每个自定义作业本质上都只是一个常规的 Ruby 类,但我不确定这些自定义作业类通常存储在项目目录结构的哪里。

我想到了 lib 目录,但现在看来 lib 目录似乎是一个杂物抽屉 :/ (也许这没关系)

谢谢!


1
我在/app下创建了一个delayed_jobs文件夹,但这只是个人喜好 :) - apneadiving
1
我有一些在 lib/ 目录下,一些在 app/models/ 目录下,还有一些是其他类的内部类。我只能给出一个不太有用的答案:把它们放在合适的位置。 - mu is too short
@apneadiving,那么你是不是只是将你的类命名为WhateverJob - Mario Zigliotto
我通常会将它们命名为“DelayedWhatever”。 - apneadiving
1个回答

19

通常做法是在app文件夹下创建一个jobs文件夹。但你应该关心的唯一事情是这些都是你的文件,所以按照你最舒适的方式进行。


选择这个作为答案,因为它似乎在这里很常见,而且这也是我决定采取的应用程序方式。谢谢! - Mario Zigliotto
2
添加:我忘了一件事...如果工作与该模型直接相关,则可以将工作放在其中一个模型中,并使用handle_asynchronously:method_name - Yuri Barbashov
1
谢谢!我实际上在文档(或堆栈)的某个地方读到了这个内容!handle_asynchronously:my_methoddelay.my_method是同义词。 - Mario Zigliotto

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接