Questions tagged «wp-cron»

wp-cron指一个WordPress子系统,它允许按计划执行代码

1
如何测试wp_cron?
这是一个愚蠢的问题... 我安排了一个每小时运行的操作: if(!wp_next_scheduled('my_hourly_events')) wp_schedule_event(time(), 'hourly', 'my_hourly_events'); add_action('my_hourly_events', 'the_function_to_run'); function the_function_to_run(){ echo 'it works!'; } 我如何才能在不等待一个小时的情况下测试它是否有效?:) 我尝试wp_clear_scheduled_hook('my_hourly_events');在此代码之前添加,然后在wp_cron()之后添加,但是我看不到我的函数正在运行... 编辑: 好的,我trigger_error()在函数中添加了一个函数,签出了apache错误日志,它就在这里:) 所以现在我更加困惑了: wp-cron如何在后台运行?因为如果我没有看到输出,那显然就是这样... 这似乎在对象上下文中不起作用;为什么?
28 events  actions  cron  wp-cron 


5
以正确的方式在多站点上运行WP Cron
我有多个站点的WordPress Multisite。我成立了DISABLE_WP_CRON以true我的wp-config.php。 如果使用wget或curl设置cron任务,则有30秒的规则来执行PHP脚本。发送大量电子邮件通知和执行其他操作是如此之小(也许远程SMTP服务器连接速度很慢,也许是来自bbPress或其他任何东西的大量电子邮件通知)。 也许我们可以使用这样的东西? php -q wp-cron.php 但这仅对多站点中的一个站点运行cron(每个站点在不同的MySQL表中都有自己的cron任务)。 PS 在wpmudev.org论坛上,我发现了奇怪的“解决方案”,它也使用了Curl。 另一个PS WP CLI有真棒wp cron命令,但它仅允许手动运行的后台任务(是的,我们可以使用--urlattr)使用。例如: wp cron event list --url=multisite.com wp cron event list --url=subdomain.multisite.com

5
随着时间的流逝,WP Cron无法执行
目标 我想用来wp_schedule_single_event( )执行一个事件,该事件在用户提交表单8分钟后向我发送了一封电子邮件。 问题 以下代码在my中functions.php: function nkapi_send_to_system( $args ) { wp_mail( 'xxx', 'xxx', $args ); } add_action( 'nkapi_send', 'nkapi_send_to_system' ); function schedule_event( $id ) { wp_schedule_single_event( current_time( 'timestamp' ) + 480, 'nkapi_send', array( $id ) ); } 下面的代码用于调用schedule-event: schedule_event( $_SESSION['insert_id'] ); // the $_SESSION var contains an INT 等待了8分钟以上后,我的收件箱中没有电子邮件。 我尝试了什么 …
16 hooks  array  wp-cron  cron  events 

6
使用date_l18n()将时间戳转换为本地时间
我有一个WordPress cron作业,该作业会定期发送电子邮件并保存作为选项发送时的时间戳,我想在设置页面上显示日期。诸如“最近的电子邮件是在'x'上发送的”之类的。我在美国西海岸,所以我们的时间目前比UTC少7个小时。 我从date_i18n()传递的时间戳的预期输出将是本地格式的日期,并且从UTC调整了七个小时。但是,它以UTC时间返回时间。即使尝试获取当前时间也不会返回我认为将是预期输出的结果。 例如:echo date_i18n('F d, Y H:i');输出预期的2013年4月5日11:36,但echo date_i18n('F d, Y H:i',time());输出输出2013年4月5日18:36。 这是故意的吗?如何从已有的时间戳返回本地格式的日期?谢谢你的帮助。
15 php  date-time  wp-cron 

7
如何每5分钟运行一次功能?
我有一个每5分钟运行一次的功能。我从法典中引用了以下内容: <?php wp_schedule_event(time(), 'hourly', 'my_schedule_hook', $args); ?> 我想每5分钟运行一次此函数,而不管何时启动。我怎么能这样 它还说,法典说,当访客访问该站点时,将运行cron。有什么方法可以按分钟运行cron而不等待访问吗? 假设下面的函数应该每5分钟运行一次,那么我该如何使用wp_schedule_event()或wp_cron呢? function run_evry_five_minutes(){ // codes go here }



1
全新安装中的PHP警告(连接超时)
访问全新的WordPress 3.4.1安装程序(挪威语)时,出现此PHP警告。 警告:fopen(URL_TO_MY_WORDPRESS_PAGE / wp-cron.php?doing_wp_cron = 1341476616.7605190277099609375000):无法打开流:连接超时在PATH_TO_MY_WP_FILES / wp-includes / class-http.php行923 当然,这是在开发服务器上运行时将WP_DEBUG标志设置true为的。 这是间歇性发生的,因此似乎是一个问题wp-cron。 这可能是WordPress中的错误还是服务器上的错误?我应该担心吗? 该服务器是带有LAMP堆栈的全新Ubuntu Server 12.04 VM。 Google搜索显示我不是唯一经历过这种情况的人。(请参阅列出的页面的缓冲/索引版本,以查看实际错误。) 编辑:我也在首页上得到了同样的PHP警告。这可能与Web服务器被NAT到的事实有关吗?当前,我已经设置了防火墙,以将端口19235指向开发服务器上的80。
10 wp-cron  warnings 

1
如何确保一次只运行一个wp_cron()?
我有大约20个wp_cron()函数,例如以下代码。几乎所有的老太婆每小时都跑一次;每天有几个。 if ( ! wp_next_scheduled( 'my_task_hook' ) ) { wp_schedule_event( time(), 'hourly', 'my_task_hook' ); } add_action( 'my_task_hook', 'my_task_function' ); function my_task_function() { //Complex Code } 为了提高服务器性能,以免不断收到托管公司的服务器限制消息,我想确保在给定的时间仅运行一个cron ...有可能吗? 当前接受的答案很好,但是我有以下问题,这就是为什么我开始悬赏这个问题。 请先阅读接受的答案。 让承担的Cron 1个奔跑,我cron2的代码将无法运行,因为我们仍然在里面5分钟的cron先仍在运行,但由于wp_schedule_event( time(), 'hourly', 'my_task_hook' );对cron2运行,我认为WordPress的考虑作为cron2运行.....所以基本上代码的cron2代码永远不会运行.....或者我误会了什么?

2
wp-cron.php是否存在已知漏洞?
我正在使用WordPress v.4.1,所有插件和主题都是最新的。 我在日志文件中看到太多此类文件... xxx.xxx.xxx.xxx - - [02/Jan/2015:13:30:27 +0200] "POST /wp-cron.php?doing_wp_cron=1420198227.5184459686279296875000 HTTP/1.0" 200 - "-" "WordPress/217; http://www.example.com" 其中xxx.xxx.xxx.xxx是托管网站的服务器的IP地址,“ http://www.example.com ”是我的网站。 是否存在影响wp-cron.php的已知漏洞(漏洞)? 有没有一种方法可以“保护”文件? 谢谢!
9 wp-cron 

2
WordPress cron作业会减慢页面加载速度吗?
如果用户访问某个站点并且他的访问触发了一项非常繁重的Cron作业,那么页面加载速度对他来说会较慢吗?据我了解,页面在加载之前不会等待cron作业执行,但是由于cron作业将并行运行,因此由于服务器繁忙,页面加载速度仍然可能会变慢吗?
8 wp-cron  cron 

2
在命令行上运行WordPress-是否关闭延迟输出?
我正在创建在WordPress之外运行的Cron作业。从开发的角度来看,只需在命令行上运行以下命令,就可以非常轻松地调试和创建清理脚本或cron作业: php myfile.php 我的问题是WordPress会以某种方式延迟所有输出...通常,当您运行这样的php文件时,输出会在屏幕上实时生成。 有谁知道如何防止WP将所有输出延迟到工作结束?运行PHP文件时可能缺少一些简单的参数,或者是某种常量,但是我不确定。 在下面的代码中,您希望每个输出之间有1秒的延迟,相反,我目前一次将所有信息打印在末尾: set_time_limit( 0 ); ini_set( "memory_limit", "64M" ); ob_start(); require_once( dirname( __FILE__ ) . '/wp-load.php' ); // you need to adjust this to your path ob_end_clean(); global $wpdb; $q = $wpdb->prepare ("SELECT * FROM wp_posts LIMIT 5"); $results = $wpdb->get_results ($q); echo "found " . …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.