python bluemix 上的调度程序

python scheduler on bluemix

我正在使用 python 中的计划包,每 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

我做到了 something similar with schedule a while back and it worked. Having the no-route option set in the manifest 对我有用。

今天推荐大家看一下IBM Cloud Functions / OpenWhisk and the alarm package. IBM Cloud Functions allows actions to be written in Python。使用警报,您可以以类似 cron 的方式调用这些 Python 函数 - 并且可能成本更低。

我通过设置

让我的调度程序工作
health-check-type: process

关于此的 Cloud Foundry 文档在此处:https://docs.cloudfoundry.org/devguide/deploy-apps/healthchecks.html#types

我的项目在这里:https://github.com/snowch/bluemix_retail_demo/tree/master/messagehub2elasticsearch/purge_old_indices