我使用PHP,并建立了一些Windows的计划任务运行.BAT具有类似PHP和Windows计划任务
"C:\PHP\php.exe" "C:\inetpub\wwwroot\cron\run-me.php"
在他们
文件。这些都很好,我已经设定每30分钟运行一次。在“运行me.php”文件包含脚本来检查记录的结束日期和到期他们,如果终止日期是低于现在(有脚本有更多的功能,如向用户发送电子邮件等)。再次,他们都很好。
因为脚本只运行,每30分钟我也想被当有访客在网站上执行的脚本,所以基本上每个页面加载,检查结束的物品,过期它们,继续加载保留所有记录最新。我在Windows任务中执行的原因是因为几小时内可能没有任何访问者,所以我需要过期记录并发送电子邮件。现在
,我有问题是,如果在Windows的任务运行和访问者重新加载页面,我遇到正在执行双重脚本,因为我经常收到内容相同的双电子邮件。
我的Windows任务只允许执行一个实例,它是如果它运行的时间超过5分钟停止力。
我的问题是:
- 我可以从我的PHP脚本,使相同的脚本只有一个实例正在执行执行Windows的计划任务?
- 我使用MySQL的数据库,我应该锁定该行因此没有别的可以对其执行任何操作,因此允许执行到记录第一次访问脚本?
用羊群()文件 – 2013-03-06 21:43:39