openshift应用程序闲置并停止其cron作业

时间:2013-11-12 16:22:28

标签: openshift

我使用openshift不时使用cron cartridge运行脚本。 但是,由于我的应用程序还没有网络活动(尚未)it goes idle而我的流程没有运行。

人们可以想到一个丑陋的解决方案,通过使用其他服务(例如ifttt来不断检索页面来生成虚假网页加载,但这听起来不对。

可以有更好的解决方案吗?

6 个答案:

答案 0 :(得分:8)

显然唯一的办法是欺骗openshift以获得流量,我使用了https://www.site24x7.com的免费帐户

答案 1 :(得分:4)

OpenShift将在24小时不活动 1 后暂停您的应用程序,但您可以在应用程序中添加每小时的cron作业以保持活力。

.openshift / cron的/每小时/ ping.sh

#!/bin/bash

PATH=/bin:/usr/bin:/usr/sbin
app_url=http://$OPENSHIFT_APP_DNS/

curl --insecure --location --silent --fail "$app_url" >/dev/null

假设您的应用尚未闲置且无法运行cron作业: - )


1 显然,之前的空闲时间段为48 hours,但根据OpenShift定价表,现在为24小时。换句话说,每日pinger cron工作不会为你做。

OpenShift Pricing Chart—Free gears get idled after 24 hours of inactivity

答案 2 :(得分:3)

Openshift墨盒在24小时不活动后怠速运转。

活动被视为在您的应用程序中接收来自外部盒式磁带的Get请求(因此从您自己的盒式磁带中ping您的应用程序不起作用)。

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

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

还有其他免费的ping服务。欢迎使用Google并尝试其他服务。如果你找到一个好的评论,请做评论,对某些人来说可能是一个很好的帮助: - )。

答案 3 :(得分:2)

这本身并不是一个“技巧”,但只要你有一致的来路,你的装备就不会闲着。

答案 4 :(得分:2)

青铜是免费的。所有计划都保留免费的东西,例如3个自由齿轮等,你只需支付0.02美元以上的齿轮3。 因此,如果您使用自由撕裂而不使用3个齿轮,您应该可以安全地升级为青铜并保持自由。

答案 5 :(得分:0)

在您的nodejs应用中:

  1. 创建一个能够分派获取请求页面的httpserver
  2. 在您的阵列作业列表中包含一个cron作业,每小时都会将帖子发送到外部页面(php,jsp或各种&#34;页面&#34;可以创建卷曲请求)。
  3. 在外部页面中:

    1. 执行作业的逻辑(可选,因为您可以使用job2,job3..jobn并保留此作业只是为了让您的应用程序保持清醒状态)
    2. 使用php curl库将请求中的某个地址插入到nodejs服务器页面。
    3. 在这种情况下:

      1. 每小时,空闲超时将被重置并且您的应用程序保持清醒
      2. 您可以决定将作业放在外部页面和/或nodejs
      3. 希望它有所帮助。

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