首页 > 其他分享 >wordpress - wp_cron 计划但未触发

wordpress - wp_cron 计划但未触发

时间:2023-10-08 12:35:40浏览次数:35  
标签:doing request cron wordpress wp action my

我正在尝试使用 wp_schedule_single_event 运行在用户操作时触发的后台脚本,虽然我已经确认事件正在安排中并且 wp_cron 认识到预定的时间已经过去,但它不会触发事件处理程序。更复杂的是,代码在我安装的本地 WP 上运行良好,但在我的服务器上什么也不做。

要安排事件,我正在使用:

if ( ! wp_next_scheduled( 'my_action_name' ) ) {
    wp_schedule_single_event( time(), 'my_action_name' );
}

我的处理程序操作定义为:

add_action('my_action_name', 'my_action_handler');
function my_action_handler () {
    // do stuff
}

我测试了 wp 核心文件,发现以下 block (来自 wp-includes/cron.php:322)是脚本终止的地方:

var_dump('test1');
$cron_request = apply_filters( 'cron_request', array(
    'url'  => add_query_arg( 'doing_wp_cron', $doing_wp_cron, site_url( 'wp-cron.php' ) ),
    'key'  => $doing_wp_cron,
    'args' => array(
        'timeout'   => 0.01,
        'blocking'  => false,
        /** This filter is documented in wp-includes/class-wp-http-streams.php */
        'sslverify' => apply_filters( 'https_local_ssl_verify', false )
    )
), $doing_wp_cron );
var_dump('test2'); //exit here to test
wp_remote_post( $cron_request['url'], $cron_request['args'] );

在我的本地机器上,应用过滤器,打印'test2',脚本可以继续调用wp_remote_post。然而,在服务器上,脚本在 apply_filter('cron_request') 执行期间终止,打印 'test1' 但不打印 'test2' 并且无法到达 wp_remost_post。

我一直无法找到这个过滤器的源代码来进一步调试。 Wordpress.org 说过滤器是在 wp-includes/cron.php 中定义的,我已经引用的一个实例是唯一应用过它的地方,但是,使用 Sublime 多文件搜索显示字符串 'cron_request'仅出现在我引用的过滤器应用程序中。

我读过很多关于 wp_cron 失败的帖子,除了非描述性的“服务器配置阻塞 wp_cron”答案外没有找到任何帮助。有关服务器配置类型或此处可能发生的其他情况的任何其他信息?

http://www.nongpin88.com/

 

最佳答案

如果预定时间已过,当有人访问您的 WordPress 网站时将触发此操作。

也许你可以使用

wp_schedule_event()

代替

 wp_schedule_single_event()

更多内容来自:http://www.nongpin88.com/

标签:doing,request,cron,wordpress,wp,action,my
From: https://www.cnblogs.com/68xi/p/17748591.html

相关文章

  • 彻底解决 WordPress cURL error 28 错误
    cURL连接超时。这种情况最普遍,这里的超时并不是完全不可连接,而是因为网络状况或其它原因数据传输缓慢,超过连接的时间限制导致传输中断引起的错误。不论是何种原因导致连接超时,都可以通过增加超时限制来解决此问题。但URL完全不可访问此方法是解决不了的。首先将WordPress......
  • bugku渗透测试2 WP
    bugku渗透测试2WPbugku渗透测试1WP有详细的frp,proxifier配置https://www.cnblogs.com/thebeastofwar/p/17744965.html注意这次因为有三次frp代理,所以注意代理命名和端口号要不同(frpc1.ini,frpc2.ini,frpc3.ini样例)先fscan一段扫,无果然后nmap扫全端口,无果之后......
  • [办公自动化]信创之WPS演示01
    WPS演示在图片处理时具备布尔运算功能。这个功能可以使你的图片更酷炫。示例图片: 我们先找到一张章鱼的图片,然后在上面输入世界章鱼日,调整字体,选中章鱼的图片,然后选择文本框关键步骤来了选择顶部“绘图工具”选项卡,“合并形状”,“剪除”即可得到上面的效果。 本案例效果......
  • HackMyVM_Za1_wp
    前言靶机是由zacarx师傅制作目前在HackMyVM平台上靶机地址:https://hackmyvm.eu/machines/machine.php?vm=Za1zacarx师傅的博客:www.zacarx.comzacarx师傅的B站:Zacarxzacarx师傅的公众号:Zacarx的随笔主机发现nmap-sn192.168.110.0/24靶机ip为192.168.110.7端口扫描nm......
  • 利用LNMP实现wordpress站点搭建
     #环境准备:nginx+php+wordpress10.0.0.152mysql+redis10.0.0.162#在10.0.0.162编写脚本实现mysqk数据库一键安装[root@localhost~]#catinstall_mysql.sh#!/bin/bash##********************************************************......
  • wordpress 编写插件实现自动汇总超链接
    背景写长篇文章时,文章内容可能会引用了很多外站的超链接。事后我再来翻阅文章,找到想要的超链很吃力。尝试过在插件商城寻找现有的插件,都不太令人满意。因为需求其实很简单:将文章内容中出现过的超链接,汇总展示在文章的末尾,类似论文的引用文献。‍实施将如下代码,放在wordpres......
  • WPF 上位机软件 开发小技巧
    本文长期更新... 1.鼠标按下拖拽窗体 自定义窗体的界面,右键按下鼠标后,可移动窗体的代码注册 MouseLeftButtonDown事件///<summary>///鼠标左键点击可移动窗体///</summary>///<paramname="sender"></param>///<par......
  • WPF
    https://baike.baidu.com/item/WPF/5299594?fr=aladdinWPF(WindowsPresentationFoundation)是微软推出的基于Windows的用户界面框架,属于.NETFramework3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交......
  • C#中关于Word或WPS转PDF的实现方案
    使用微软的Word组件转PDF在.NET中,你可以使用Microsoft.Office.Interop.Word库来进行Word到PDF的转换。这是一个示例代码,但请注意这需要在你的系统上安装MicrosoftOffice。在开始前,你需要添加对Microsoft.Office.Interop.Word的引用,步骤如下:在你的项目中右键选择"AddReferen......
  • LYDSJ月运维(crontab的运用)
    第一步:进到lydsj的数据库中(.85),查询旅游hive配置表和旅游运行日志表,查询是否运行或者执行success/fail;(每个月记得更换月份)第二步:进到ssh相应主机中输入(.46):crontab-l(显示当前主机用户的crontab文件内容)                        ......