我有一个与PostgreSQL DB连接的cron作业,要选择和插入数据,它每2分钟工作一次,使用pg_connect(); 我的服务器每天都下来并在PostgreSQL日志中给出错误以创建多个连接并且每个用户的连接数超过每天100个,我如何在我的cron中使用单例术语。任何人都可以帮助PLZ
答案 0 :(得分:1)
据我所知,你试图问:
“我如何确保一次只运行一个cron作业的副本”。
如果是这样,传统的解决方案是flock
shell命令。 The PHP flock()
function也可以是used for the same purpose。
特定于PostgreSQL,您可以改为使用表锁并在cron脚本中尽早获取NOWAIT
锁定,因此如果锁定尝试失败,它将会出错。当然,这只有在PHP脚本检查错误时才有效,并在发现错误时中止。