我正在编写一个使用OpenStack的python应用程序,以便学生访问有限数量的虚拟机.
学生可以现在或将来进行预约.
我需要将在任何时间安排的虚拟机数量限制为X,同时仍然允许学生在插槽/预留可用时保留vms.
预订对象如下所示(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)
Run Code Online (Sandbox Code Playgroud)
有关在何处查找计划算法示例或类似内容的任何指针?我甚至都不清楚要搜索什么...
谢谢.
我正在用烧杯会话中间件编写一个瓶子应用程序.
我的代码是这样的:
@bottle.route('/')
def slash():
try:
beaker_session = request.environ['beaker.session']
except:
#redirect('/login')
abort(401, "Failed beaker_session in slash")
try:
name = beaker_session['name']
except:
redirect('/login')
Run Code Online (Sandbox Code Playgroud)
对于除/ login之外的每个路由请求.我知道在请求之前有一个瓶子挂钩系统可以做,但我不知道如何最好地使用它来检查是否有人登录.
我对使用bottle的python webapps相当新.不是很多人在烧杯会话中间件中使用它,所以我没有很多例子可供使用.
感谢您的帮助或指点!
PS.整个代码都在这个回购中:https://github.com/curtisgithub/labinski/blob/master/labinski.py