我有一个要部署到Microsoft Azure的应用程序。该应用程序允许用户在特定时间运行特定任务,例如“我想在5分钟内运行taskX”或“我想在1小时25分钟内运行taskX”,在此之后,任务应该会运行。
我该如何在Azure中做到这一点。我知道Azure有一个任务调度程序,但问题是我看不到一种方法来: 1)通过脚本设置调度的时间(应用程序正在使用python + flask作为后端) 2)准确地在提供的时间上运行任务。
我想要避免做的是做一些轮询,我每小时检查一次新任务。从本质上讲,我希望在指定的确切时间运行任务。因此,如果现在是11:30,用户说“我想在10分钟内运行任务”,那么我必须等到12:00 (让轮询程序检查新任务)。我想要的是,如果是"11:30“,用户说”我想在10分钟内运行任务“,它将在"11:40”运行。
非常感谢,感谢您的帮助。
发布于 2017-07-25 01:38:58
1)调度器在Python中可用:https://pypi.python.org/pypi/azure-mgmt-scheduler
不幸的是,该客户端没有很多示例,但您可以从以下位置开始:https://docs.microsoft.com/python/azure/
2)我不是Scheduler API方面的专家,但在我看来您应该能够做到这一点。有关此零件的参考信息,请参阅文档:
https://docs.microsoft.com/en-us/azure/scheduler/scheduler-get-started-portal
发布于 2017-07-25 16:47:37
根据我的理解,Azure Scheduler可能无法满足您的方案。
根据我的经验,如果你想在像Linux crontab
这样的Azure Web Apps上为你的flask应用添加这个功能,我认为你可以尝试使用一些Python库,比如python-crontab
。
或者其他需求,我猜,你只是想在Python中创建一个作业,通过Python脚本运行它,或者只安排一个时间让它工作,也许Azure WebApp上的WebJobs的功能triggered job
适合这个,并通过WebJob API来运行它。请查看有关WebJobs API的更多详细信息,以创建或调用触发的作业。
希望能有所帮助。
https://stackoverflow.com/questions/45286420
复制相似问题