Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在具有psql连接的cron中使用单例_Php_Postgresql_Cron - Fatal编程技术网

Php 在具有psql连接的cron中使用单例

Php 在具有psql连接的cron中使用单例,php,postgresql,cron,Php,Postgresql,Cron,我有一个与PostgreSQL DB连接的cron作业,用于选择和插入数据,它每2分钟工作一次,我使用pg_connect(); 我的服务器每天都会停机,并在PostgreSQL日志中为我提供创建多个连接的错误信息,并且每个用户每天的连接数超过100,我如何在我的cron中使用singleton术语。有人能帮我吗据我猜测,你想问: “如何确保一次只运行一个cron作业副本?” 如果是这样,传统的解决方案是flockshell命令。也可以 特定于PostgreSQL,您可以改为使用表锁,并在cro

我有一个与PostgreSQL DB连接的cron作业,用于选择和插入数据,它每2分钟工作一次,我使用pg_connect();
我的服务器每天都会停机,并在PostgreSQL日志中为我提供创建多个连接的错误信息,并且每个用户每天的连接数超过100,我如何在我的cron中使用singleton术语。有人能帮我吗据我猜测,你想问:

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

如果是这样,传统的解决方案是
flock
shell命令。也可以

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


.

嗯,什么?错误的确切文本*将是一个良好的开端。一些段落也会中断。谢谢你Craig,我试过了,这似乎会帮助我解决这个问题,但我想问你,当文件被锁定时,我如何停止脚本我不知道该如何继续等待预览工作完成,因为我告诉过你,我每2分钟运行一次。再次感谢你Craig我找到了答案,我在第二个参数中添加了LOCK_NB,它可以工作谢谢你:)