gpt4 book ai didi

ruby-on-rails-3 - 运行 Rails 代码/初始化程序但不是通过 Rake

转载 作者:行者123 更新时间:2023-12-03 23:36:40 26 4
gpt4 key购买 nike

我的应用程序不断遇到一个反复出现的问题。基本上,我有一些代码,我希望它在第一次启动服务器时运行,以检查是否已经定义了某些东西,例如计划、数据库中的特定列、文件的存在等,然后采取相应行动。

但是,我绝对不希望这段代码在我开始 Rake 任务(或执行“生成”等)时运行。例如,我不希望在 Rake 下检查数据库字段,因为Rake 任务可能是定义字段的迁移。另一个例子,我有一个 Resque 的动态计划,但我不想在启动 Resque 工作人员时加载它。等等……

而且我绝对需要 Rake 任务来加载环境!

有什么方法可以确定应用程序的加载方式吗?我确实希望在通过“rails 服务器”、Apache/Passenger、控制台等加载代码时运行代码,但在其他时间则不会。

如果不是,您可以在何处或如何定义此代码以确保它仅以上述方式执行?

最佳答案

最简单的方法是检查初始化代码中的一些环境变量,例如

if ENV['need_complex_init']
do_complex_init
end

并使用 need_complex_init=1 rails s 运行应用程序

关于ruby-on-rails-3 - 运行 Rails 代码/初始化程序但不是通过 Rake,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18202862/

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