使用cron的OpenShift调度节点js

时间:2014-06-07 07:00:53

标签: node.js openshift

我知道OpenShift有一个cron盒式磁带,我们可以用它来执行清理,运行备份等任务......

在我的情况下,我的Node.js应用程序是一个工作者,并且在每次运行时它都会根据外部资源更新我的数据库。

我的计划是使用OpenShift cron在每个作业运行时运行我的应用程序的主入口点,例如运行以下命令:

node databaseUpdater.js

我找到了关于如何执行Node.js的另一个SO question and answer,但我的问题是我不知道OpenShift节点的完整路径是什么,或者即使他们允许我做这样的事情?

我尝试使用node databaseUpdater.js并希望运气好,OpenShift会自动运行我的应用,但我错了!

有关如何获取节点的完整路径或任何更好的方法来解决OpenShift上的此问题的任何帮助?

2 个答案:

答案 0 :(得分:1)

节点位于全局可见的openshift上。这样你就可以从cron文件夹中调用它。然后只需通过包含部署文件夹的变量添加脚本名称:

{{1}}

检查所有变量:https://developers.openshift.com/managing-your-applications/environment-variables.html#directory-variables

答案 1 :(得分:0)

您可以确定节点可执行文件的位置,因为您可以通过

进入OpenShift应用程序。
rhc ssh <app-name>

在shell中,您可以通过执行

来询问node.js可执行文件的位置
which node

它会告诉你在哪里找到它。但是,我想知道,如果节点可执行文件已经在您的crone作业的路径中可用。如果是这样,也许你可以直接调用节点。

你试过吗?