Example #1
0
 /**
  * Trying to lock when previous launch of our app crashed
  * and left a lock file intact
  *
  * @covers Yeriomin\ConsoleApp\Lock::lock
  */
 public function testLockOtherProcess()
 {
     file_put_contents($this->testFileName, '99999999');
     $this->object->lock($this->testFileName);
     $this->assertFileExists($this->testFileName);
     $this->assertEquals(getmypid(), file_get_contents($this->testFileName));
 }
Example #2
0
 private function loadVars()
 {
     if (!$this->lock->lock()) {
         return;
     }
     if (!shm_has_var($this->memory, self::SID_VARS)) {
         $this->varNames = [];
         shm_put_var($this->memory, self::SID_VARS, $this->varNames);
     } else {
         $this->varNames = shm_get_var($this->memory, self::SID_VARS);
     }
     $this->lock->unlock();
 }
// composer autoload
require_once __DIR__ . '/vendor/autoload.php';
// define the parent folder of this file as base path
define("BASE_PATH", dirname(__FILE__));
// check for a config file
if (file_exists(BASE_PATH . '/config.php')) {
    require_once BASE_PATH . '/config.php';
} else {
    trigger_error("AIESEC-Customer.io-Connector is missing a config file", E_USER_ERROR);
    die;
}
// instantiate KLogger (we don't catch anything here, because we can not do anything about it)
$log = new \Katzgrau\KLogger\Logger(LOG, LOGLEVEL);
$log->log(\Psr\Log\LogLevel::INFO, "AIESEC-Customer.io-Connector is starting.");
// try to get lock
$pid = Lock::lock($log);
// check if we got the lock
if ($pid < 1) {
    // there is a problem or another process running. Shutdown...
    $log->log(\Psr\Log\LogLevel::INFO, "AIESEC-Customer.io-Connector didn't got the lock. This instance is shutting down...");
} else {
    // we got the lock, so check that data directory is writeable
    if (!file_exists('./data') || !is_writeable('./data')) {
        die("data directory must be writeable");
    }
    //try to run the core and sync once
    try {
        $core = new Core($log);
        if ($core) {
            $core->run();
        }
Example #4
0
 /**
  * Tests unlock().
  * 
  * @see Lock::unlock()
  */
 public function testUnlock()
 {
     $name = __FUNCTION__;
     $checkLock = new Lock($name);
     $lock = new Lock($name);
     $lock->lock();
     $lock->unlock();
     $this->assertTrue($checkLock->nonblockingLock());
     $checkLock->unlock();
 }
Example #5
0
<?php

require_once '../shell.php';
if (isset($_POST['ID'])) {
    $id = $_POST['ID'];
    $lock = new Lock($id);
    if ($lock->isLocked()) {
        $lock->unlock();
        $command = escapeshellcmd("python /var/www/python/clear.py");
        echo $command;
        $output = shell_exec($command);
        echo "Output: {$output} <br>";
    } else {
        $lock->lock();
        $command = escapeshellcmd("python /var/www/python/LightsHandler.py allamb on");
        echo $command;
        $output = shell_exec($command);
        echo "Output: {$output} <br>";
    }
}
<?php

set_time_limit(0);
$start_time = time("now");
require_once 'lib/config.php';
require_once 'lib/ebay/selling.php';
require_once 'lib/item.php';
if (isset($_GET['user_id'])) {
    $users = array(DB::query_row("SELECT * from ebay_users where `user_id`='{$_GET['user_id']}'"));
    $lock_file = LOCK_FILE . '_' . $_GET['user_id'];
} else {
    $users = DB::query_rows("SELECT * from ebay_users");
    $lock_file = LOCK_FILE . '';
}
if (!Lock::lock($lock_file, "LOCK", 0 * 3600)) {
    die('Another instance is already running: ' . Lock::get_msg($lock_file));
}
Log::push('----- Cron job started -----');
foreach ($users as $user) {
    $user_id = $user['user_id'];
    $DEVNAME = trim($user['dev_name']);
    $APPNAME = trim($user['app_name']);
    $CERTNAME = trim($user['cert_name']);
    $paypal_email = trim($user['paypal_address']);
    $token = decrypt($user['token']);
    /* Relisting inactive items */
    $items = EbaySelling::get_items('UnsoldList');
    foreach ($items as $num => $ebay_item) {
        if (!empty($_GET['num']) && $_GET['num'] != $num) {
            continue;
        }