/** * @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(); }