我有一个生成SecurityGroup和ELB的CloudFormation脚本; 我正在尝试在ELB创建中引用SecurityGroup; 这是资源位:
"ELBSecurityGroup" : {
"Type" : "AWS::EC2::SecurityGroup",
"Properties" : {
"GroupDescription" : "Security group for the Arena dev stack",
"SecurityGroupIngress" : [
{"IpProtocol" : "tcp", "FromPort" : 80, "ToPort" : 80, "CidrIp" : { "Ref" : "OfficeIp" }}
]
}
},
"ProjectLoadBalancerTest" : {
"Type" : "AWS::ElasticLoadBalancing::LoadBalancer",
"Properties" : {
"AvailabilityZones" : { "Fn::GetAZs" : "" },
"Instances" : [ ],
"Listeners" : [ {
"LoadBalancerPort" : "80",
"InstancePort" : "12345",
"Protocol" : "HTTP"
} ],
"HealthCheck" : …Run Code Online (Sandbox Code Playgroud) 我有一个应用程序my_app.它还有一些其他依赖的应用程序.
my_app.app:
{application, my_app,
[ {description, "My App"},
{vsn, "0.0.1"},
{registered, []},
{applications, [some_dep1,
some_dep2]},
{mod, {my_app_app, []}},
{env, []}
]}.
Run Code Online (Sandbox Code Playgroud)
如果其中一个some_dep1或some_dep2未能启动,my_app也将无法启动.到现在为止还挺好.
但是,如果在运行系统期间出现问题并且some_dep1爆炸(在树上一直取出主管),erlang最终将终止该some_dep1应用程序; 但my_app没有被杀死,也没有得到通知(我可以找到)
有办法处理这个吗?理想情况下,我希望它重新启动(就像主管处理重启,阈值等),或者杀死任何依赖它的应用程序.
我目前的想法是轮询应用程序状态,但这似乎是一个巨大的黑客.
谢谢!
在 Python 中(我在这里说的是 2,但也有兴趣了解 3)是否有一种方法可以预先定义您想要使用的所有实例变量(成员字段)的列表,即使用您的一个错误没有在某处定义?
就像是
class MyClass(object):
var somefield
def __init__ (self):
self.somefield = 4
self.banana = 25 # error!
Run Code Online (Sandbox Code Playgroud)
有点像你在 Java、C++、PHP 等中所做的
编辑:
我想要这种东西的原因是尽早发现使用最初没有设置的变量。看起来 linter 实际上会在没有任何额外管道的情况下发现这些错误,所以也许我的问题没有实际意义......