PHP 同步串行执行代码,即,PHP 定义的操作代码将逐步完成。如果我们需要在会话中进行大量的操作,或者调用外部 API,这种同步执行代码可能需要很长时间,导致用户等待时间过长。这是一个非常糟糕的用户体验。在本文中,让我们来看看如何长时间执行异步操作。
使用 WP Cron 在 WordPress 中异步执行 PHP 任务
我们知道,WordPress 为我们提供WP Cron 帮助我们实现定期操作的系统。我们实现 PHP 方法是在当前时间点后的一次性任务计划中添加一些操作,以推迟一些不需要立即结果的操作。
比如 WordPress 发表评论时,将通知邮件发送给管理员的操作。默认情况下,该操作同时执行。只有在邮件发送成功后,系统才能提示用户成功评论。在一些主机上,邮件发送相对较慢,导致用户等待时间较长。
事实上,管理员不需要立即收到通知邮件。即使他们收到了,管理员也可能没有时间立即处理。因此,我们可以提醒用户评论成功,然后等到设定的邮件发送任务计划到来,然后发送通知邮件。
以下函数实现了一个简单的异步邮件功能:
if ( ! defined( 'DOING_CRON' )