ha1t/php-lite-lock

minimal flock() wrapper class

v1.0.3 2016-10-31 11:43 UTC

This package is auto-updated.

Last update: 2024-04-09 14:43:00 UTC


README

minimal flock() wrapper class.

Example

<?php
/**
 * 10秒かかる処理をロックして行うサンプル
 *
 * このプログラムを2つ同時に起動すると、先に実行された処理が終わるのを待ってから、次の処理が実行される。
 *
 * この仕組みを使うことで、必ず1秒以上感覚をあけてリクエストする事を要求されるAPIを、
 * Web上から安定して呼ぶ事ができる
 */

require_once dirname(dirname(__FILE__)) . '/LiteLock.php';

$lock_file = '/tmp/lock';
$lock = new LiteLock($lock_file);

echo "start lock:" . date('Y-m-d H:i:s') . PHP_EOL;
$lock->lock();
sleep(10);
$lock->unlock();
echo "end lock:" . date('Y-m-d H:i:s') . PHP_EOL;