在hybris中,有多少种方法可以在不停止服务器的情况下停止cronjob?

在hybris中,有多少种方法可以在不停止服务器的情况下停止cronjob?,hybris,Hybris,我想我们可以通过hmc阻止cronjob。 如果没有其他方法,请回答您始终可以使用(中止Cronjob按钮)从HMC中止您的Cronjob,但是您的作业应该是可中止作业,如果不是,您将无法停止它 查看本教程。您始终可以使用(中止Cronjob按钮)从HMC中止Cronjob,但是您的作业应该是可中止的作业,如果不是,您将无法停止它 查看本教程。您可以在如何停止线程中的无限循环这一更具全局性的问题中找到答案。(见:) 您的作业将在专用线程中启动 停止它的唯一方法是使用可从外部对象设置的标志 在

我想我们可以通过hmc阻止cronjob。
如果没有其他方法,请回答

您始终可以使用(中止Cronjob按钮)从HMC中止您的Cronjob,但是您的作业应该是可中止作业,如果不是,您将无法停止它


查看本教程。

您始终可以使用(中止Cronjob按钮)从HMC中止Cronjob,但是您的作业应该是可中止的作业,如果不是,您将无法停止它


查看本教程。

您可以在如何停止线程中的无限循环这一更具全局性的问题中找到答案。(见:)

您的作业将在专用线程中启动

停止它的唯一方法是使用可从外部对象设置的标志

JobPerformable
(扩展了
AbstractJobPerformable
)中,您必须经常设置此代码块以检查是否应停止cron:

    if (clearAbortRequestedIfNeeded(cronJobModel)) {
        LOG.error(String.format(MSG_INFO_JOB_ABORTED, cronJobModel.getCode()));
        return new PerformResult(CronJobResult.UNKNOWN, CronJobStatus.ABORTED);
    }
作业可执行的
必须为“可中止”。要说将这组代码放入JobPerformable实现中:

@Override
public boolean isAbortable()
{
    return true;
}

您可以在如何停止线程中的无限循环这一更具全局性的问题中找到答案。(见:)

您的作业将在专用线程中启动

停止它的唯一方法是使用可从外部对象设置的标志

JobPerformable
(扩展了
AbstractJobPerformable
)中,您必须经常设置此代码块以检查是否应停止cron:

    if (clearAbortRequestedIfNeeded(cronJobModel)) {
        LOG.error(String.format(MSG_INFO_JOB_ABORTED, cronJobModel.getCode()));
        return new PerformResult(CronJobResult.UNKNOWN, CronJobStatus.ABORTED);
    }
作业可执行的
必须为“可中止”。要说将这组代码放入JobPerformable实现中:

@Override
public boolean isAbortable()
{
    return true;
}

实际上,有几种方法可以阻止Hybris中的cronjob

第一个最佳方法是从
HMC
中止它(现在是
后台管理驾驶舱
)。要做到这一点,cronjob必须是可中止的。更多关于可中止的cronjobs

您还可以通过转到
Monitoring
Cron作业
HAC
中止Cron作业。这与第一种方法的工作方式大致相同

当前两种方法不可用时,还有一些方法可以中止/停止/完成cronjob:

  • 您可以通过impex导入或直接在数据库上删除cronjob
  • 您可以通过impex导入或在数据库上将cronjob的状态设置为
    FINISHED
  • 我相信,您也可以通过
    webservice-API
    来完成(1.和2.)这两项工作。更多关于webservice API的信息
  • 最后但并非最不重要的一点是,您可以使用以下命令以编程方式中止cronjob:

    cronJobService.requestAbortCronJob(myCronJobModel);
    
    在这种情况下,cronjob也必须是可中止的


    更多关于cronjobs的信息。

    实际上,在Hybris中有几种方法可以停止cronjob

    第一个最佳方法是从
    HMC
    中止它(现在是
    后台管理驾驶舱
    )。要做到这一点,cronjob必须是可中止的。更多关于可中止的cronjobs

    您还可以通过转到
    Monitoring
    Cron作业
    HAC
    中止Cron作业。这与第一种方法的工作方式大致相同

    当前两种方法不可用时,还有一些方法可以中止/停止/完成cronjob:

  • 您可以通过impex导入或直接在数据库上删除cronjob
  • 您可以通过impex导入或在数据库上将cronjob的状态设置为
    FINISHED
  • 我相信,您也可以通过
    webservice-API
    来完成(1.和2.)这两项工作。更多关于webservice API的信息
  • 最后但并非最不重要的一点是,您可以使用以下命令以编程方式中止cronjob:

    cronJobService.requestAbortCronJob(myCronJobModel);
    
    在这种情况下,cronjob也必须是可中止的

    有关cronjobs的更多信息。

    在hac中的impex下运行

    update CronJob[batchmode=true];itemtype(code)[unique=true];active;CronJob;false
    
    在hac的弹劾下运行

    update CronJob[batchmode=true];itemtype(code)[unique=true];active;CronJob;false
    

    事实上,我想知道,除了HMC,还有其他方法可以停止cronjob吗?另一个解决方案是尝试并更新(使用完成状态)或者通过impex文件删除您的cronjob。我不认为如果您将cron job的状态更改为“已完成”或“已中止”将停止它。那么,您能告诉我正确的方法吗?正确的方法是上面的答案中描述的方法,我不认为有其他方法。实际上,我想知道,除了HMC,我们还有其他方法可以停止cronjob吗?另一种解决方案是尝试通过impex文件更新(完成状态)或删除您的cronjob。我不认为如果您将cron job的状态更改为“完成”或“中止”将停止它。您能告诉我们正确的方法吗?正确的方法是上面的答案中描述的方法,我不认为还有其他方法。我认为如果cronjob不可中止,这些点都不会使它停止,(在我看来,删除cronjob是不合适的,我宁愿重新启动服务器而不是删除cronjob,因为cronjob可能包含一些历史/有趣的信息,我不希望它们被删除).但我想知道,在不中断服务器的情况下,我们如何停止cronjob?我认为如果cronjob不可中止,这些点都不会使它停止,(在我看来,删除cronjob是不合适的,我宁愿重新启动服务器,而不是删除cronjob,因为cronjob可能包含一些历史/有趣的信息,我不希望它们被删除)。但我想知道在不中断服务器的情况下,我们如何停止cronjob?