背景
我正在制作一个网站,列出当前和即将到来的季节的电视节目,并在每个节目的下一集完成倒计时。对于这些节目,我有一个节目表和一个相应剧集表(每集一行,每个都有正确的播出日期)。
现在,我还想允许用户选择加入他们选择的任何系列的电子邮件更新。所以,我有一个包含电子邮件的表格以及要发送到该电子邮件的系列更新。电子邮件将是简单的通知,例如“此类系列已于今年秋季宣布推出。”或“此类系列的第3集现已推出。”
我相信我可以创建一个脚本,可以找到在过去30分钟内播出的剧集,然后通过电子邮件发送给任何选择通知的人发送电子邮件。但是,我不确定如何自动完成实际执行。我希望尽可能接近发送电子邮件的时间,而不是每周综述。这些节目是外国的,这意味着由于奇怪的播出时间,我将无法自己执行剧本,不过我还是喜欢自动化。
我的问题:
答案 0 :(得分:0)
没有。您的精确度不需要精确到秒,它不需要在.sh
脚本或小听众上运行。
但是,如果您打算让更新更准确,可以使用以下内容:
script.sh
#!/bin/sh
while [ 1 ]
do
php -q "/path/to/mail.php"
sleep 5000
done
在此示例中,您可以每隔五秒钟调用一次脚本。
没有。如果你已经编写PHP脚本来有效地循环通过数据库(例如,不使用php循环,但使用sql连接),那么以较低的间隔运行脚本也会有效。
PHP循环意味着:
foreach ($users as $user) {
$mysqli->query("SELECT `shows` FROM `user_shows` WHERE `id`=".$user->id);
}
SQL Join会更好。
SELECT `shows` FROM `user_shows` JOIN `users` ON user.id = user_shows.user_id;
没有。 mail
使用在其他位置定义的设置,效率将取决于您的邮件服务器/服务的效率。
此外,您甚至不需要在PHP中使用默认的mail
函数。您可以使用PHPMailer或第三方服务,例如FeedBurner。