我在 CloudFoundry 中有几个 Python 应用程序。现在我想安排他们的执行。例如,必须在每月的第二天执行特定的应用程序。 我在互联网上找不到任何东西。这可能吗?
最佳答案
Cloud Foundry 将在容器内部署您的应用程序。您可以使用库按特定时间表执行代码,但无论哪种方式,您都需要付费才能让该实例始终运行。
您正在尝试做的事情是“serverless computing”(也称为“事件驱动”或“功能即服务”计算)的完美候选者。
这些部署技术根据触发器执行功能,例如REST api 调用、特定时间戳、新数据库插入等...
您可以使用Openwhisk执行您的Python Cloud Foundry应用程序无服务器计算平台。
IBM 提供了在其云平台上运行的托管版本,Bluemix .
我不知道你的代码是什么样的,所以我将使用这个示例 hello world 函数:
import sys
def main(dict):
if 'message' in dict:
name = dict['message']
else:
name = 'stranger'
greeting = 'Hello ' + name + '!'
print(greeting)
return {'greeting':greeting}
您可以使用 online editor 将操作(函数)上传到 OpenWhisk或CLI .
上传操作后,您可以使用警报包按特定时间表自动执行这些操作。要在在线编辑器中执行此操作,请单击“自动化此过程”并选择警报包。 要通过 CLI 执行此操作,我们需要首先创建一个触发器:
$ wsk trigger create regular_hello_world --feed /whisk.system/alarms/alarm -p cron '0 0 9 * * *'
ok: created trigger feed regular_hello_world
这将在每天上午 9 点触发。然后,我们需要通过创建规则将此触发器链接到我们的操作:
$ wsk rule create regular_hello_rule regular_hello_world hello_world
ok: created rule regular_hello_rule
有关更多信息,请参阅docs on creating python actions.
关于python - 如何在 CloudFoundry 中添加 cron 作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44264981/