【发布时间】:2020-06-25 14:52:42
【问题描述】:
我的应用程序作为插件在 Wordpress 中运行。该应用程序有许多项目,其值为电子邮件频率,这些项目将保存在数据库中,该值将是:每周、每天以及每周二和周四。
现在,我要设置一个电子邮件调度程序,根据频率,安排的电子邮件将每周、每天或每周两次发送给项目参与者。
我的问题是如何首先设置电子邮件调度程序。由于 Wordpress cron 是基于页面加载的,而我的 purpse 不依赖于任何页面加载,所以我不能使用 Wordpress cron 系统。我看过一些文章建议使用服务器 cron 本身。任何人都可以根据我的要求给我一个简介吗?是否可以使用 cron 脚本从数据库中获取动态值?另外,我没有为此使用 Laravel。我知道 Laravel 有任务调度功能。
第二个问题是,如果我用 php 脚本使用corn,我可以将时间表设置为每周二和周四吗?
第三,我还看到了一些像 SendGrid 这样的库,它具有调度功能,我应该使用它还是继续使用 Cron?
【问题讨论】:
-
您可以使用 WP Cron 并让 crontab 加载主页,或者您可以直接在插件中调用脚本。只要脚本加载 wp-load.php 文件,它就拥有完整的数据库访问权限。但是,您可能希望使用 .htaccess 文件保护脚本,以防止直接在服务器外部访问它。
-
Wordpress官网说如果没有加载页面,计划任务将不会运行,然后延迟。我的场景是,如果没有人访问任何页面,计划任务仍然可以工作。这就是为什么我觉得 WP Cron 不适合我。
-
这就是为什么我说一种选择是让服务器 crontab 以您希望调用的任何频率加载 WP 页面。