function pushToStack($vks_id, $force = false)
 {
     try {
         $vks = Vks::approved()->notEnded()->findOrFail($vks_id);
     } catch (Exception $e) {
         $this->error('404');
     }
     if (!OutlookCalendarRequest::where('user_id', App::$instance->user->id)->where('vks_id', $vks->id)->count()) {
         OutlookCalendarRequest::create(array('user_id' => App::$instance->user->id, 'vks_id' => $vks->id, 'request_type' => OutlookCalendarRequest::REQUEST_TYPE_NEW, 'send_status' => OutlookCalendarRequest::SEND_STATUS_REQUIRED));
         App::$instance->log->logWrite(LOG_OTHER_EVENTS, "New Outlook request create for " . App::$instance->user->login . ', vks: ' . $vks->id);
         App::$instance->MQ->setMessage("Приглашение сформировано, ожидайте, отправка будет произведена в течении 2х минут");
     } else {
         if ($force) {
             $reSend = OutlookCalendarRequest::where('user_id', App::$instance->user->id)->where('vks_id', $vks->id)->first();
             $reSend->send_status = OutlookCalendarRequest::SEND_STATUS_REQUIRED;
             $reSend->save();
             App::$instance->log->logWrite(LOG_OTHER_EVENTS, "New Outlook request create for " . App::$instance->user->login . ', vks: ' . $vks->id);
             App::$instance->MQ->setMessage("Приглашение сформировано, ожидайте, отправка будет произведена в течении 2х минут");
         } else {
             App::$instance->MQ->setMessage("Приглашение уже отправлялось в ваш календарь, <a class='confirmation' href='" . ST::route('OutlookCalendarRequest/pushToStack/' . $vks->id . '/forced') . "'>Отправить еще раз</a>");
         }
     }
     ST::redirect('back');
 }
$connection->connect();
//Create and declare channel
$channel = new AMQPChannel($connection);
//AMQPC Exchange is the publishing mechanism
$vc = new Vks_controller();
$callback_func = function (AMQPEnvelope $message, AMQPQueue $q) use(&$max_consume, $vc) {
    $data = json_decode($message->getBody());
    print '---------------query--------------' . "\r\n";
    echo sprintf(" QueueName: %s", $q->getName()), PHP_EOL;
    print '---------------received!--------------' . "\r\n";
    try {
        $vks = Vks::approved()->notEnded()->findOrFail($data->vks_id);
        $vc->humanize($vks);
        $user = User::find($data->user_id);
        if (!OutlookCalendarRequest::where('user_id', $user->id)->where('vks_id', $vks->id)->count()) {
            $reSend = OutlookCalendarRequest::create(array('user_id' => $user->id, 'vks_id' => $vks->id, 'request_type' => $data->request_type, 'send_status' => OutlookCalendarRequest::SEND_STATUS_COMPLETED));
            App::$instance->log->logWrite(LOG_OTHER_EVENTS, "New Outlook request create for " . $user->id . ', vks: ' . $vks->id);
        } else {
            if ($data->force) {
                $reSend = OutlookCalendarRequest::where('user_id', $user->id)->where('vks_id', $vks->id)->first();
                $reSend->request_type = $data->request_type;
                $reSend->send_status = OutlookCalendarRequest::SEND_STATUS_COMPLETED;
                $reSend->save();
                App::$instance->log->logWrite(LOG_OTHER_EVENTS, "New Outlook request create for " . $user->id . ', vks: ' . $vks->id);
            } else {
                echo sprintf("Outlook Request to: user_id %s, and vks_id %s already sended, no force KEY detected", $data->user_id, $data->vks_id), PHP_EOL;
            }
        }
        Mail::sendIcalEvent($vks, $reSend->request_type, $user);
        App::$instance->log->logWrite(LOG_MAIL_SENDED, 'Outlook event invite sended to: ' . $user->email);
    } catch (Exception $e) {