对于生产中的 rails 应用程序,除了 autoscaler 之外,设置一些 puma 工人是否是一个好习惯?还是拥有更多正在运行的 Pod 更好?
我有一个像这样的单身人士
class Singleton:
class __impl:
def __init__(self):
print "INIT"
__instance = None
def __init__(self):
# Check whether we already have an instance
if Singleton.__instance is None:
Singleton.__instance = Singleton.__impl()
# Store instance reference as the only member in the handle
self.__dict__['_Singleton__instance'] = Singleton.__instance
def __getattr__(self, attr):
""" Delegate access to implementation """
return getattr(self.__instance, attr)
def __setattr__(self, attr, value):
""" Delegate access to implementation """
return setattr(self.__instance, attr, value)
Run Code Online (Sandbox Code Playgroud)
当我做了几个Singleton的实例时,我得到了两个init的调用,我的意思是"INIT"被打印了两次,我觉得它不应该发生
有人知道这有什么问题或有更好的方法来实现这个?
我有自己的宝石,我的护发带看起来像...
class MyRailtie < Rails::Railtie
initializer "my_railtie.configure_rails_initialization" do
# some initialization behavior
end
end
Run Code Online (Sandbox Code Playgroud)
并且我正在尝试对其进行测试,但是在测试中,初始化器从未被调用。而且我注意到我也依赖于另一个具有初始化程序的gem,它们也不会被调用。
您是否知道除了需要文件外还应该做什么?