【问题标题】:OpenShift schedule node js using cronOpenShift 使用 cron 调度节点 js
【发布时间】:2014-07-28 11:32:59
【问题描述】:

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

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

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

node databaseUpdater.js

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

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

任何帮助如何获得节点的完整路径或任何更好的方法来克服 OpenShift 上的这个问题?

【问题讨论】:

    标签: node.js openshift


    【解决方案1】:

    您可以确定节点可执行文件的位置,因为您可以通过 ssh 进入您的 OpenShift 应用程序

    rhc ssh <app-name>
    

    一旦进入那个 shell,你可以通过执行 a 来询问 node.js 可执行文件的位置

    which node
    

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

    你试过了吗?

    【讨论】:

      【解决方案2】:

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

      node ${OPENSHIFT_REPO_DIR}/cron.js
      

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-09-20
        • 1970-01-01
        • 1970-01-01
        • 2020-11-10
        • 2021-03-12
        • 2019-03-24
        • 1970-01-01
        • 2016-05-09
        相关资源
        最近更新 更多