1

我在 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

4

2 回答 2

1

不久前我做过类似schedule事情,它奏效了。在no-route清单中设置选项对我有用。

今天,我建议看一下IBM Cloud Functions / OpenWhisk 和警报包IBM Cloud Functions 允许使用 Python 编写操作。使用警报,您可以以类似 cron 的方式调用这些 Python 函数,而且成本可能更低。

于 2017-12-08T08:40:51.357 回答
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

于 2017-12-09T14:48:10.417 回答