gpt4 book ai didi

ruby-on-rails - 仅在 `rails server` 而不是 `rails generate` 等上运行的 Rails 3 初始化程序

转载 作者:行者123 更新时间:2023-12-04 04:26:50 24 4
gpt4 key购买 nike

我有一段相对较小的初始化代码,我想在任何时候运行 rails server运行,但不是在我运行时 rails generate , rails console或任何其他 rails 命令(包括需要环境任务的 rake 任务)。这段代码预填充了一些缓存并且相对昂贵,所以我真的不希望它运行在除了 rails s 之外的任何东西上。

不满意的解决方案:

工头等。将意味着它将在不同的进程上运行,该进程(a)对于那一小段代码来说是最重要的,(b)需要进程间通信而不是初始化程序提供的简单内存方法。

在服务器上,我通过配置乘客将一个特殊的环境变量传递给 rails 来解决这个问题,告诉它它在服务器上下文中运行。但是,如果可能的话,我希望它可以在所有开发人员的机器上开箱即用,而不必记住以同样提供该环境变量的方式运行 rails 服务器(即 IN_SERVER=true rails server )。

关于在 rails server 中运行时运行初始化程序的问题,之前一直有人问过这个问题。而不是在 rake .但是我希望它只在服务器初始化时专门运行 - rake 的修复很好,但并不全面。

最佳答案

你能做一些类似覆盖 Rails::Server#initialize 的事情吗?以便它在您的初始化程序中调用您的初始化代码?

或者,更简单的是,只需将您的代码放入 script/rails ,因为每次运行时都会运行 rails server ,您可以轻松地摆弄 ARGVENV在那里。

关于ruby-on-rails - 仅在 `rails server` 而不是 `rails generate` 等上运行的 Rails 3 初始化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8660019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com