/**
  * @param integer $currentTime
  * @param array   $ids Filter by ids
  * @return DeferredQueue[]
  */
 public static function getNextTasks($currentTime, $ids = null)
 {
     $currentTime = date("Y-m-d H:i:s", $currentTime);
     $query = DeferredQueue::find()->where(['status' => DeferredQueue::STATUS_SCHEDULED]);
     if ($ids !== null) {
         $query = $query->andWhere(['in', 'id', (array) $ids]);
     } else {
         $query = $query->andWhere('next_start <= :next_start', [':next_start' => $currentTime]);
     }
     return $query->orderBy(['id' => SORT_ASC])->all();
 }