【发布时间】:2017-06-03 12:26:35
【问题描述】:
初始场景: 我在 Wordpress 中有 PHP 脚本,它将多步骤表单帖子的条目存储在 MySQL DB 中,并使用 PHPMailer 在循环中将表单条目通过电子邮件发送到多个电子邮件(从 DB 中检索并设置在数组中)。
问题: 表单发布需要时间来完成,因为它将条目存储在数据库中并将电子邮件发送到多个地址。由于表单发布需要很长时间(超过1分钟),用户会退出表单,影响潜在客户转化。
建议的设计: 表单发布后,只需将表单的条目存储在 DB 表中即可完成表单提交,然后使用计划任务或 cron 作业循环调度电子邮件提交功能直到稍后。 我想这会减少表单提交时间,因为电子邮件提交只是一个后台进程。
如果这是一个好的设计,我可以使用 cron 作业吗?我正在考虑使用 https://www.sitepoint.com/introducing-cron/ 但不确定在表单提交完成后我如何才能真正触发它。 在下面的代码 sn-p 中,我有一个函数可以处理表单提交后发生的事情,但只有在 send_notification 完成/返回后,表单提交才完成。
add_action('gform_after_submission_19', 'send_custom_notification', 10, 2);
function send_custom_notification($entry, $form) {
send_notification("form_submission", $form, $entry);
/*Is there a way to dispatch send_notification as a schedule task
or cron job so that form submission is finished but notification
is background process?*/
}
相反,我需要一种在表单完成后触发 send_notification 的方法。一个功能完成后可以一次调度或触发cron作业或计划任务吗?
【问题讨论】:
标签: php mysql wordpress forms cron