我正在编写一个 python 应用程序,它使用 OpenStack 为学生提供对有限数量的虚拟机的访问。
学生可以现在或将来进行预订。
我需要将随时安排的虚拟机数量限制为 X,同时在插槽/预留可用的情况下仍允许学生预留 vm。
保留对象如下所示(sqlalchemy)。我会知道所请求的预订的开始时间和时长,此时我需要检查现有的预订,看看在所请求的时间段内是否有太多的预订。*_job 字段是 APScheduler 作业的名称。
class Reservation(Entity):
student = ManyToOne('Student', required=True)
class_id = ManyToOne('Class', required=True)
image = ManyToOne('Image', required=True)
# openstack image id filled in once the instance is started
instance_id = Field(UnicodeText)
# apscheduler jobs
stop_instance_job = Field(UnicodeText)
start_instance_job = Field(UnicodeText)
warn_reservation_ending_job = Field(UnicodeText)
check_instance_job = Field(UnicodeText)
关于在哪里寻找调度算法或类似的例子的任何指针?我什至不清楚要搜索什么...
谢谢。