2

我有兴趣找出是否有办法在 openstack 中创建一个侦听器,每次创建新实例时都会收到通知。

4

2 回答 2

2

尝试查看 OpenStack 工作负载测量项目https://launchpad.net/ceilometer

于 2013-12-05T10:19:01.057 回答
0

一种方法是使用Django 信号。因此,您可以创建一个信号并在创建实例的代码行之后发送它。期望通知的功能可以成为监听这个信号的接收者。该函数将等待它收到信号。例如:

#Declaring a signal
from django.dispatch import Signal
instance_signal = Signal(providing_args=['param1', 'param2'])


#function that sends the signal
def instance_create():
--code that creates the instance  
instance_signal.send(sender='instance_create', param1='I am param 1', param2='I am param 2')


#Defining the function that listens to this signal(the receiver)
def notify_me(**kwargs):
x, y= kwargs['param1'], kwargs['param2']



#Connect the signal to the receiver (Can be written anywhere in the code)
instance_signal.connect(notify_me)

关于 Django Signals 最好的部分是您可以创建信号、接收器函数并将它们连接到整个应用程序的任何位置。Django Signals 在安排任务或在您的情况下接收通知方面非常有用。

于 2014-03-09T06:33:14.870 回答