diff --git a/airtime_mvc/application/services/ThirdPartyCeleryService.php b/airtime_mvc/application/services/ThirdPartyCeleryService.php index e4890a616..33d661e9b 100644 --- a/airtime_mvc/application/services/ThirdPartyCeleryService.php +++ b/airtime_mvc/application/services/ThirdPartyCeleryService.php @@ -83,7 +83,7 @@ abstract class ThirdPartyCeleryService extends ThirdPartyService { protected function _createTaskReference($fileId, $brokerTaskId, $taskName) { $trackId = $this->createTrackReference($fileId); // First, check if the track already has an entry in the database - $task = CeleryTasksQuery::create()->findOneByDbId($brokerTaskId); + $task = CeleryTasksQuery::create()->findOneByDbTrackReference($trackId); if (is_null($task)) { $task = new CeleryTasks(); } diff --git a/airtime_mvc/application/services/ThirdPartyService.php b/airtime_mvc/application/services/ThirdPartyService.php index 988b24588..5af1eb0e4 100644 --- a/airtime_mvc/application/services/ThirdPartyService.php +++ b/airtime_mvc/application/services/ThirdPartyService.php @@ -96,7 +96,12 @@ abstract class ThirdPartyService { $ref = ThirdPartyTrackReferencesQuery::create() ->filterByDbService(static::$_SERVICE_NAME) ->findOneByDbFileId($fileId); // There shouldn't be duplicates! - return !empty($ref); + if (!empty($ref)) { + $task = CeleryTasksQuery::create() + ->findOneByDbTrackReference($ref->getDbId()); + return $task->getDbStatus() != CELERY_FAILED_STATUS; + } + return false; } /**