Example #1
0
 /**
  * Record success/completion of a test variation.
  *
  * @access  public
  * @param   string  $test_id
  * @return  mixed
  */
 public function addWin($test_id, $variation_id)
 {
     $this->getClient();
     // increment the object hash count
     $wins = $this->client->hincrby('variation:' . $variation_id, 'wins', 1);
     // retrieve the variation views
     $pageviews = $this->client->hget('variation:' . $variation_id, 'pageviews');
     // calculate ranking change
     $rank = 0.0;
     if ($pageviews > 0) {
         $rank = $wins / $pageviews;
     }
     // update the variation rankings
     $this->client->zadd('variations:sorted_by_rank', $rank, $variation_id);
 }
Example #2
0
 /**
  * {@inheritDoc}
  */
 public function flush()
 {
     $this->redis->flushDb();
 }
Example #3
0
<?php

/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
Route::get('/', function () {
    return view('push');
});
Route::post('publish', function () {
    // Route logic...
    Predis::publish('test:channel', json_encode(['message' => Request::input('message')]));
    return 'ok';
});