예제 #1
0
    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)
예제 #2
0
 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)
예제 #3
0
 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
예제 #4
0
 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)
예제 #5
0
    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)