我在python中使用schedule包,每15秒调用一次函数,并希望在IBM Bluemix上运行此代码。 使用-no-route选项将应用程序推送到Bluemix,虽然应用程序部署到Bluemix,但Bluemix无法启动应用程序
以下是我尝试过的示例代码
import schedule
import time
def printMyName():
print("NAME...")
schedule.every(15).seconds.do(printMyName)
while 1:
schedule.run_pending()
time.sleep(10)
此应用程序的Bluemix日志中的消息:
Destroying container
Successfully destroyed container
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
过了一会儿,我在日志中看到了这条消息
ERR Timed out after 1m0s: health check never passed.
Python版本:3.4.4
答案 0 :(得分:1)
我已完成something similar with schedule
a while back并且有效。让no-route
option set in the manifest为我做了诀窍。
今天,我建议您查看IBM Cloud Functions / OpenWhisk和alarm package。 IBM Cloud Functions allows actions to be written in Python。通过警报,您可以以类似cron的方式调用这些Python函数 - 并且可能成本更低。
答案 1 :(得分:1)
我通过设置
让我的调度程序工作health-check-type: process
关于此的云代工文档在这里:https://docs.cloudfoundry.org/devguide/deploy-apps/healthchecks.html#types
我的项目在这里:https://github.com/snowch/bluemix_retail_demo/tree/master/messagehub2elasticsearch/purge_old_indices