我知道OpenShift有一个cron盒式磁带,我们可以用它来执行清理,运行备份等任务......
在我的情况下,我的Node.js应用程序是一个工作者,并且在每次运行时它都会根据外部资源更新我的数据库。
我的计划是使用OpenShift cron在每个作业运行时运行我的应用程序的主入口点,例如运行以下命令:
node databaseUpdater.js
我找到了关于如何执行Node.js的另一个SO question and answer,但我的问题是我不知道OpenShift节点的完整路径是什么,或者即使他们允许我做这样的事情?
我尝试使用node databaseUpdater.js
并希望运气好,OpenShift会自动运行我的应用,但我错了!
有关如何获取节点的完整路径或任何更好的方法来解决OpenShift上的此问题的任何帮助?
答案 0 :(得分:1)
节点位于全局可见的openshift上。这样你就可以从cron文件夹中调用它。然后只需通过包含部署文件夹的变量添加脚本名称:
{{1}}
答案 1 :(得分:0)
您可以确定节点可执行文件的位置,因为您可以通过
进入OpenShift应用程序。rhc ssh <app-name>
在shell中,您可以通过执行
来询问node.js可执行文件的位置which node
它会告诉你在哪里找到它。但是,我想知道,如果节点可执行文件已经在您的crone作业的路径中可用。如果是这样,也许你可以直接调用节点。
你试过吗?