我有一个函数callUpdate()
需要在网页管理员的每次更新后执行。
callUpdates执行一些缓存(最多需要30秒......)所以立即执行它并不重要,但在最后一次更新之后的合理时间内说60秒。
如果用户(用户)在短时间内连续几次更改,目标是跳过处理。
这是我目前的代码:
//this in separate stand alone script that is called asynchronous way
//so hanging for 1min does not and block the app.
function afterUpdate(){
$time = time();
file_put_contents('timer.txt', $time);
sleep(60);
if (file_get_contents("timer.txt") == $time) {
callUpdate();
}
}
我关注的是睡眠功能......如果需要太多资源 (如果我进行10次快速保存,这将启动10个PHP进程,每个进程运行将近60秒..)
如果2个用户同时在同一个文件上调用file_put_contents()
,会发生什么。
请告诉我是否有更好的方法以及我的是否有一些重大问题。
注意:会话之间的数据只能存储在文件中 在那里我可以有限地访问服务器设置" APC设置等等#34;