有兴趣了解是否有办法在openstack中创建一个侦听器,每次创建新实例时都会收到通知。
答案 0 :(得分:2)
尝试查看OpenStack工作负载测量项目https://launchpad.net/ceilometer
答案 1 :(得分:0)
执行此操作的一种方法是使用Django signals。因此,您可以创建一个信号并在创建实例的代码行之后发送它。期望通知的功能可以成为收听该信号的接收器。该函数将一直等到收到信号。例如:
#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信号在调度任务或在您的情况下接收通知非常有用。