Exemplo n.º 1
0
    def perform_create(self, serializer):
        ttl = self.request.data.get(RedisTTL.TTL_KEY)
        if ttl:
            try:
                ttl = RedisTTL.validate_ttl(ttl)
            except ValueError:
                raise ValidationError('ttl must be an integer.')

        instance = serializer.save(user=self.request.user,
                                   project=self.project)
        if ttl:
            RedisTTL.set_for_build(build_id=instance.id, value=ttl)
        # Trigger build scheduling
        celery_app.send_task(SchedulerCeleryTasks.BUILD_JOBS_START,
                             kwargs={'build_job_id': instance.id},
                             countdown=1)
Exemplo n.º 2
0
    def perform_create(self, serializer):
        ttl = self.request.data.get(RedisTTL.TTL_KEY)
        if ttl:
            try:
                ttl = RedisTTL.validate_ttl(ttl)
            except ValueError:
                raise ValidationError('ttl must be an integer.')

        project = get_permissible_project(view=self)
        code_reference = get_project_latest_code_reference(project=project)
        instance = serializer.save(user=self.request.user,
                                   project=project,
                                   code_reference=code_reference)
        auditor.record(event_type=BUILD_JOB_CREATED, instance=instance)
        if ttl:
            RedisTTL.set_for_build(build_id=instance.id, value=ttl)
        # Trigger build scheduling
        celery_app.send_task(SchedulerCeleryTasks.BUILD_JOBS_START,
                             kwargs={'build_job_id': instance.id},
                             countdown=1)
Exemplo n.º 3
0
 def test_set_for_build(self):
     RedisTTL.set_for_build(build_id=1, value=10)
     assert RedisTTL.get_for_build(build_id=1) == 10
     assert RedisTTL.get_for_build(
         build_id=2) == conf.get('GLOBAL_COUNTDOWN')
     assert RedisTTL(build=10).get_value() is None
Exemplo n.º 4
0
 def test_set_for_build(self):
     RedisTTL.set_for_build(build_id=1, value=10)
     assert RedisTTL.get_for_build(build_id=1) == 10
     assert RedisTTL.get_for_build(build_id=2) == 2
     assert RedisTTL(build=10).get_value() is None