15

我不时使用 openshift 运行带有cron 磁带的脚本。但是,由于我的应用程序(还没有)没有网络活动,它变得空闲并且我的进程没有运行。

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

有没有更好的解决方案?

4

6 回答 6

8

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

于 2013-11-12T16:47:04.153 回答
4

OpenShift 将在 24 小时不活动1后空闲您的应用程序,但您可以向您的应用程序添加一个每小时的 cron 作业以保持其自身处于活动状态。

.openshift/cron/hourly/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 小时,但根据 OpenShift 定价表,现在是 24 小时。换句话说,每日 pinger cron 作业不会为您完成。

OpenShift 定价图表 - 闲置 24 小时后空闲齿轮闲置

于 2015-01-16T23:17:42.477 回答
3

Openshift 磁带在 24 小时不活动后闲置。

Activity 被认为在您的应用程序中接收到来自您的墨盒之外的 Get 请求(因此从您自己的墨盒 ping 您的应用程序不起作用)。

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

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

还有其他免费的 ping 服务。随意谷歌并尝试其他服务。如果您找到一个好的,请发表评论,可能对某些人有很大帮助:-)。

于 2015-11-05T05:34:17.617 回答
2

这本身并不是真正的“技巧”,但只要您有稳定的传入流量,您的装备就不会闲置。

于 2013-11-12T17:37:12.993 回答
2

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

于 2016-03-29T12:59:04.807 回答
0

在您的 nodejs 应用程序中:

  1. 创建一个能够发送获取请求页面的 httpserver
  2. 在您的数组作业列表中包含一个 cron 作业,该作业每小时向外部页面(php、jsp 或可以创建 curl 请求的各种“页面”)发送一个帖子。

在外部页面中:

  1. 执行作业的逻辑(可选,因为您可以使用 job2、job3..jobn 并离开此作业只是为了让您的应用保持清醒)
  2. 使用 php curl 库在代码中的某处插入对 nodejs 服务器页面的请求。

在这种情况下:

  1. 每隔一小时,空闲超时将被重置,您的应用程序保持清醒
  2. 您可以决定将作业放在外部页面和/或 nodejs

希望它可以帮助某人。

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

于 2015-04-16T06:10:43.673 回答