перекрытие рабочих мест php cron - PullRequest
0 голосов
/ 29 июня 2011

Привет, я написал несколько месяцев назад скрипт на 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?

1 Ответ

0 голосов
/ 29 июня 2011

Конечно можно.Единственная особенность, которую вы используете, - это «flock», которая также доступна в php (см. flock doc ).

Другие шаги очень похожи:

  • замените "my" на "$"
  • блок инициализации с циклом while (1)
  • die с выходом
  • и префиксом if для представления php
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...