public static function initializeNewTask(PhabricatorWorkerBulkJob $job, $object_phid)
 {
     return id(new PhabricatorWorkerBulkTask())->setBulkJobPHID($job->getPHID())->setStatus(self::STATUS_WAITING)->setObjectPHID($object_phid);
 }
 private function hasRemainingWork(PhabricatorWorkerBulkJob $job)
 {
     return (bool) queryfx_one($job->establishConnection('r'), 'SELECT * FROM %T WHERE bulkJobPHID = %s
     AND status NOT IN (%Ls) LIMIT 1', id(new PhabricatorWorkerBulkTask())->getTableName(), $job->getPHID(), array(PhabricatorWorkerBulkTask::STATUS_DONE, PhabricatorWorkerBulkTask::STATUS_FAIL));
 }