def post(self, request, *args, **kwargs): project = self.project tensorboard = self.tensorboard has_tensorboard = self.has_tensorboard experiment_id = self.kwargs.get('experiment_id') group_id = self.kwargs.get('group_id') if has_tensorboard: celery_app.send_task(SchedulerCeleryTasks.TENSORBOARDS_STOP, kwargs={ 'project_name': project.unique_name, 'project_uuid': project.uuid.hex, 'tensorboard_job_name': tensorboard.unique_name, 'tensorboard_job_uuid': tensorboard.uuid.hex, 'update_status': True }, countdown=conf.get('GLOBAL_COUNTDOWN')) auditor.record(event_type=TENSORBOARD_STOPPED_TRIGGERED, instance=tensorboard, target=get_target(experiment=experiment_id, group=group_id), actor_id=self.request.user.id, actor_name=self.request.user.username) return Response(status=status.HTTP_200_OK)
def audit(self, instance): experiment_id = self.kwargs.get('experiment_id') group_id = self.kwargs.get('group_id') auditor.record(event_type=TENSORBOARD_VIEWED, instance=instance.tensorboard, target=get_target(experiment=experiment_id, group=group_id), actor_id=self.request.user.id, actor_name=self.request.user.username)
def get(self, request, *args, **kwargs): response = super().get(request, *args, **kwargs) experiment_id = self.kwargs.get('experiment_id') group_id = self.kwargs.get('group_id') auditor.record(event_type=TENSORBOARD_STATUSES_VIEWED, instance=self.tensorboard, target=get_target(experiment=experiment_id, group=group_id), actor_id=request.user.id, actor_name=request.user.username) return response
def _create_tensorboard(self, project, experiment_group=None, experiment=None): config = self.request.data or self._get_default_tensorboard_config() serializer = self.get_serializer(data=config) serializer.is_valid(raise_exception=True) instance = serializer.save(user=self.request.user, project=project, experiment_group=experiment_group, experiment=experiment) auditor.record(event_type=TENSORBOARD_STARTED_TRIGGERED, instance=instance, target=get_target(experiment=experiment, group=experiment_group), actor_id=self.request.user.id, actor_name=self.request.user.username)
def post(self, request, *args, **kwargs): project = self.project tensorboard = self.tensorboard experiment_id = self.tensorboard.experiment_id group_id = self.tensorboard.experiment_group_id workers.send(SchedulerCeleryTasks.TENSORBOARDS_STOP, kwargs={ 'project_name': project.unique_name, 'project_uuid': project.uuid.hex, 'tensorboard_job_name': tensorboard.unique_name, 'tensorboard_job_uuid': tensorboard.uuid.hex, 'update_status': True, 'is_managed': tensorboard.is_managed, }) auditor.record(event_type=TENSORBOARD_STOPPED_TRIGGERED, instance=tensorboard, target=get_target(experiment=experiment_id, group=group_id), actor_id=self.request.user.id, actor_name=self.request.user.username) return Response(status=status.HTTP_200_OK)