类似openstack的通知生成器
notigen的Python项目详细描述
notigen
==
>类似于openstack的通知生成器。
要创建一个实例,我们需要事件:
compute.run廑instance.start
scheduler.run廑instance.start
scheduler.run廑instance.update
compute.instance.update
compute.instance.update
compute.instance.update
compute.instance.update
compute.run廑instance.end
但是,由于这是一个大型系统,我们目前可以进行很多这样的操作。每次操作都需要时间来执行。因此,这些操作生成的
通知是交错的。
此库模拟这些并发操作。告诉eventgenerator每分钟要启动多少个新操作。注意,您将得到比
每秒操作数多得多的通知(因为操作在
的未来会随着时间的推移而持续)。
库试图避免错误的序列(例如对已删除的实例进行更新),但在某些竞争条件下可能会发生这种情况。
您可以通过传入实时日期来实时生成,也可以通过将开始时间的“
”增量为“
”来尽可能快地生成事件。请参阅下面的示例。
要实时生成事件…
now=datetime.datetime.utcnow()
start=now
nevents=0
while nevents<;10000:
e=g.generate(now)
如果e:
nevents+=len(e)
now=datetime.datetime.utcnow()
尽可能快地生成事件…
g=notigen.eventgenerator(100)
now=datetime.datetime.utcnow()
start=now
nevents=0
而nevents<;10000:
e=g.generate(now)
如果e:
nevents+=len(e)
now=g.move_to_next_tick(now)
datetimes作为字符串返回,就像openstack那样。
==
>类似于openstack的通知生成器。
要创建一个实例,我们需要事件:
compute.run廑instance.start
scheduler.run廑instance.start
scheduler.run廑instance.update
compute.instance.update
compute.instance.update
compute.instance.update
compute.instance.update
compute.run廑instance.end
但是,由于这是一个大型系统,我们目前可以进行很多这样的操作。每次操作都需要时间来执行。因此,这些操作生成的
通知是交错的。
此库模拟这些并发操作。告诉eventgenerator每分钟要启动多少个新操作。注意,您将得到比
每秒操作数多得多的通知(因为操作在
的未来会随着时间的推移而持续)。
库试图避免错误的序列(例如对已删除的实例进行更新),但在某些竞争条件下可能会发生这种情况。
您可以通过传入实时日期来实时生成,也可以通过将开始时间的“
”增量为“
”来尽可能快地生成事件。请参阅下面的示例。
要实时生成事件…
start=now
nevents=0
while nevents<;10000:
e=g.generate(now)
如果e:
nevents+=len(e)
now=datetime.datetime.utcnow()
尽可能快地生成事件…
g=notigen.eventgenerator(100)
now=datetime.datetime.utcnow()
start=now
nevents=0
而nevents<;10000:
e=g.generate(now)
如果e:
nevents+=len(e)
now=g.move_to_next_tick(now)
datetimes作为字符串返回,就像openstack那样。