Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.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 cron作业重叠_Php_Perl_Translation - Fatal编程技术网

php cron作业重叠

php cron作业重叠,php,perl,translation,Php,Perl,Translation,您好,几个月前我用perl编写了一个脚本,用于检查作业的重叠 use Fcntl ':flock'; INIT { my $waitcount=12; # possible attemtps to run script my $waitseconds=300; # wait for $waitseconds each attempt my $lockstatus=0;#no lock was attained while ($waitcount > 0){

您好,几个月前我用perl编写了一个脚本,用于检查作业的重叠

use Fcntl ':flock';
INIT {
    my $waitcount=12; # possible attemtps to run script
    my $waitseconds=300; # wait for $waitseconds each attempt
    my $lockstatus=0;#no lock was attained
    while ($waitcount > 0){
          if (open LH, $0){
                while ($waitcount > 0){
                   if (flock LH, LOCK_EX|LOCK_NB){
                       $waitcount=0;#signal end of waiting
                       $lockstatus=1;#lock was attained
                   }
                   else{
                       --$waitcount;#decrement waitcount
                       print "waiting to be able to lock $0\n";
                       sleep $waitseconds;
                   }#end else
                }#end while
          }#end if
          else{
              --$waitcount;#decrement waitcount
              print "waiting to be able to open $0\n";
              sleep $waitseconds;
          }#end else
    }#end while
    if ($lockstatus == 0){
         die "no lock was attained\n";
    }#end if
}
我想知道我们是否可以用php做类似的事情


如何与当前运行部分php作业的php代码集成?

当然可以。您使用的唯一特定功能是“flock”,这在php中也可用(请参阅)

其他步骤非常类似:

  • 将“我的”替换为“$”
  • 带有while(1)循环的init块
  • 死掉
  • 以及if案例到php表示