Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (8)

Лучшие ответы пользователя

Все ответы (6)
  • Какой микро php фреймворк использовать?

    @fomiash
    По описанию хорошо подходит микрофреймворк HLEB, документация на русском, нет сторонних зависимостей, перечисленные компоненты в комплекте, мало кода в котором легко разобраться новичку, в том числе быстрый старт и быстродействие.
    Ответ написан
    Комментировать
  • Блокировка PHP flock создает последовательную очередь?

    @fomiash
    Согласно такому тесту:

    <?php
    // Файл /test/tester.php
    
    <?php
    @unlink("/test/document.txt");
    $processTime = 0.0001;
    for ($i = 1; $i <= 15; $i++) {
       $processTime *= 2;
       $time = $i === 1 ? 0 : $processTime;
       if ($i === 2) {
           sleep(2);
       }
       usleep($time * 1000000);
       passthru("php /test/subject.php $i $time >> /test/log_file.log 2>&1  &");
    }

    <?php
    // Файл /test/subject.php
    
    $processId = $argv[1];
    $processTime = $argv[2];
    
    $fp = fopen(__DIR__ . "/document.txt", "a+");
    flock($fp, LOCK_EX);
    if($processId == 1) {
        sleep(15);
        $processTime = 15;
    }
    fwrite($fp, $processId . ': ' . $processTime . ' sec.' . "\n");
    echo $processId . "\n";
    flock($fp, LOCK_UN);
    fclose($fp);

    в /test/document.txt оказался лог:

    1: 15 sec.
    3: 0.0008 sec.
    15: 3.2768 sec.
    5: 0.0032 sec.
    4: 0.0016 sec.
    12: 0.4096 sec.
    10: 0.1024 sec.
    7: 0.0128 sec.
    6: 0.0064 sec.
    8: 0.0256 sec.
    11: 0.2048 sec.
    13: 0.8192 sec.
    9: 0.0512 sec.
    14: 1.6384 sec.
    2: 0.0004 sec.


    в /test/log_file.txt

    1
    3
    15
    5
    4
    12
    10
    7
    6
    8
    11
    13
    9
    14
    2


    Очередность не соблюдена(
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (20)