强制退出正在运行的后台作业

时间:2019-05-18 作者:FrancMo

我正在使用add\\u操作挂钩运行后台作业,挂钩从REST API调用开始:

   if ( ! wp_next_scheduled( \'bg_job_hook\' ) ) {
          wp_schedule_single_event( time(), \'bg_job_hook\');
          get_headers(get_site_url());
    }

add_action( \'bg_job_hook\', array( $this->$bg, \'do_background\' ) );
它工作正常,但我想退出这个工作,所以在另一个api调用中,我添加了一个选项,在后台工作中,我在每个循环中都会得到这个选项。我看到这个退出选项在DB中被更新了,但来自循环的日志显示不是这样。若迭代退出,我将再次执行后台作业,它将在第一次循环后执行,因为get\\u选项显示true。。

为什么在循环期间它不工作?

1 个回复
SO网友:FrancMo

由于某些原因,缓存在WP中的工作方式很奇怪:)所以我放弃了使用get\\u选项,我正在对DB进行纯SQL查询,一切正常。

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。