使用psql连接在Crons中使用singleton

时间:2014-09-12 15:56:23

标签: php postgresql cron

我有一个与PostgreSQL DB连接的cron作业,要选择和插入数据,它每2分钟工作一次,使用pg_connect(); 我的服务器每天都下来并在PostgreSQL日志中给出错误以创建多个连接并且每个用户的连接数超过每天100个,我如何在我的cron中使用单例术语。任何人都可以帮助PLZ

1 个答案:

答案 0 :(得分:1)

据我所知,你试图问:

“我如何确保一次只运行一个cron作业的副本”。

如果是这样,传统的解决方案是flock shell命令。 The PHP flock() function也可以是used for the same purpose

特定于PostgreSQL,您可以改为使用表锁并在cron脚本中尽早获取NOWAIT锁定,因此如果锁定尝试失败,它将会出错。当然,这只有在PHP脚本检查错误时才有效,并在发现错误时中止。

Here's a nearly identical answer I prepared earlier