Exemplo n.º 1
0
 public function getNearestPostDuration($key)
 {
     if ($duration = $this->cache->get($key . '-duration')) {
         return $duration;
     } else {
         $nearest_scheduled_post = $this->posts->nearestScheduledPost();
         if (!is_null($nearest_scheduled_post)) {
             $nearest_scheduled_posts_date = new Carbon($nearest_scheduled_post->publish_date, config('app.timezone'));
             $time_difference = $nearest_scheduled_posts_date->diffInMinutes(Carbon::now(config('app.timezone'))) + 1;
             if ($time_difference > 0) {
                 $duration = $this->cache->remember($key . '-duration', function () use($time_difference) {
                     return $time_difference;
                 }, ['posts'], $time_difference);
                 return $duration;
             }
         }
     }
 }