我不时使用 openshift 运行带有cron 磁带的脚本。但是,由于我的应用程序(还没有)没有网络活动,它变得空闲并且我的进程没有运行。
人们可能会想到一个丑陋的解决方案,通过使用另一种服务(例如ifttt不断检索页面)来生成虚假的网络负载,但这听起来是错误的。
有没有更好的解决方案?
显然,唯一的方法是欺骗 openshift 获得传出流量,为此我使用了https://www.site24x7.com的免费帐户
OpenShift 将在 24 小时不活动1后空闲您的应用程序,但您可以向您的应用程序添加一个每小时的 cron 作业以保持其自身处于活动状态。
#!/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 小时不活动后闲置。
Activity 被认为在您的应用程序中接收到来自您的墨盒之外的 Get 请求(因此从您自己的墨盒 ping 您的应用程序不起作用)。
您可以使用任何免费的 ping 服务在特定时间间隔(< 24 小时)后 ping 您的应用程序。
您可以使用Pingdom。我发现使用它是成功的。它还提供了一个很好的仪表板和响应时间图表。如果连接到您的应用程序有任何问题或如果它关闭,您将收到通知。您可以使用他们的移动应用程序管理您的帐户。
还有其他免费的 ping 服务。随意谷歌并尝试其他服务。如果您找到一个好的,请发表评论,可能对某些人有很大帮助:-)。
这本身并不是真正的“技巧”,但只要您有稳定的传入流量,您的装备就不会闲置。
青铜是免费的。所有计划都保留免费的东西,例如 3 个免费齿轮等。您只需为 3 个以上的齿轮支付 0.02 美元。因此,如果您使用免费撕裂而不使用 3 个齿轮,您应该可以安全地升级到青铜并保持免费。
在您的 nodejs 应用程序中:
在外部页面中:
在这种情况下:
希望它可以帮助某人。
编辑:对不起,它不再起作用了。无论您使用哪种策略,他们都能够发现来自特定 IP 的系统请求并排除这种情况,让您的应用闲置赚钱,因为每个人都知道 BRONZE 不是免费的。它的成本至少为 0.02 美元/小时。