openshift应用程序处于空闲状态并停止其cron作业

openshift应用程序处于空闲状态并停止其cron作业,openshift,Openshift,我使用openshift不时地运行脚本。 但是,由于我的应用程序还没有web活动,而且我的进程也没有运行 你可能会想到一个丑陋的解决方案,通过使用另一个服务(例如不断检索页面)来生成虚假的web负载,但这听起来是错误的 有更好的解决方案吗?显然,唯一的办法是欺骗openshift以获得更多流量,我使用了一个就其本身而言,但只要您有一致的传入流量,您的设备就不会空闲。OpenShift将在24小时不活动后使您的应用程序空闲1,但您可以在应用程序中添加每小时一次的cron作业,以使其保持活动状态 .

我使用openshift不时地运行脚本。 但是,由于我的应用程序还没有web活动,而且我的进程也没有运行

你可能会想到一个丑陋的解决方案,通过使用另一个服务(例如不断检索页面)来生成虚假的web负载,但这听起来是错误的


有更好的解决方案吗?

显然,唯一的办法是欺骗openshift以获得更多流量,我使用了一个就其本身而言,但只要您有一致的传入流量,您的设备就不会空闲。

OpenShift将在24小时不活动后使您的应用程序空闲1,但您可以在应用程序中添加每小时一次的cron作业,以使其保持活动状态

.openshift/cron/hourly/ping.sh 假设您的应用程序尚未空闲且不会运行cron作业:-)


1显然,闲置期以前是,但根据OpenShift定价表,现在是24小时。换句话说,每天的pinger cron工作对您来说是不合适的

在您的nodejs应用程序中:

  • 创建一个能够分派get请求页面的httpserver
  • 在数组作业列表中包含一个cron作业,每小时向外部页面(php、jsp或可以创建curl请求的各种“页面”)发送一篇文章 在外部页面中:

  • 执行作业逻辑(可选,因为您可以使用job2、job3..jobn并将此作业保留为保持应用程序处于唤醒状态)
  • 使用php curl库在代码中的某个地方插入一个返回nodejs服务器页面的请求
  • 在这种情况下:

  • 在每一个小时,空闲超时将被重置,并且应用程序保持唤醒状态
  • 您可以决定将作业放入外部页面和/或节点
  • 希望它能帮助别人


    编辑:对不起,它不再工作了。无论您使用哪种策略,他们都能够发现来自特定IP的系统性请求,并排除这种情况,让您的应用程序闲置以赚钱,因为每个人都知道BRONZE不是免费的。它的成本至少为0.02美元/小时。

    Openshift盒带在24小时不活动后会闲置

    活动被视为在应用程序中接收一个Get请求,该请求来自您的盒带之外(因此从您自己的盒带ping应用程序不起作用)

    您可以使用任何免费ping服务在特定时间间隔(<24小时)后ping应用程序

    你可以用。我发现使用它很成功。它还提供了一个漂亮的仪表板和响应时间图。如果连接到应用程序时出现任何问题或应用程序已关闭,您将收到通知。您可以使用他们的移动应用程序管理您的帐户


    还有其他免费的ping服务。欢迎使用谷歌并尝试其他服务。如果你找到一个好的,一定要发表评论,可能对一些人有很大帮助:-)。

    Brown是免费的。所有计划均保留免费内容,例如3个免费档位等。3个以上档位的费用仅为0.02美元/小时。
    因此,如果您使用的是自由撕裂,而不是使用3档,您应该可以安全升级到青铜并保持自由。

    这是唯一一种不使用OpenShift欺骗自己的方法:)请参见下文。这意味着什么?在OpenShift上每小时ping一次的cron作业本身就不起作用了?有多少流量?如果我每天打开网页一次,那应该是好的。考虑切换到青铜帐户,细节在这里:如果这是真的,这是最好的答案。他们的网站上不清楚你是否为前3档每小时支付0.02美元。我现在正在测试。测试@Creditenson后你发现了什么?是的,你可以升级到bronze并继续免费使用前3个小齿轮。这是正确的答案。
    #!/bin/bash
    
    PATH=/bin:/usr/bin:/usr/sbin
    app_url=http://$OPENSHIFT_APP_DNS/
    
    curl --insecure --location --silent --fail "$app_url" >/dev/null