Add datetime of when a trigger was disabled
This commit is contained in:
parent
93d79e777e
commit
3837a7c2ed
3 changed files with 31 additions and 0 deletions
|
@ -711,6 +711,7 @@ class RepositoryBuildTrigger(BaseModel):
|
||||||
robot_null_delete=True)
|
robot_null_delete=True)
|
||||||
enabled = BooleanField(default=True)
|
enabled = BooleanField(default=True)
|
||||||
disabled_reason = EnumField(DisableReason, null=True)
|
disabled_reason = EnumField(DisableReason, null=True)
|
||||||
|
disabled_datetime = DateTimeField(default=datetime.utcnow, null=True, index=True)
|
||||||
successive_failure_count = IntegerField(default=0)
|
successive_failure_count = IntegerField(default=0)
|
||||||
successive_internal_error_count = IntegerField(default=0)
|
successive_internal_error_count = IntegerField(default=0)
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
"""Add disabled datetime to trigger
|
||||||
|
|
||||||
|
Revision ID: 87fbbc224f10
|
||||||
|
Revises: 17aff2e1354e
|
||||||
|
Create Date: 2017-10-24 14:06:37.658705
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = '87fbbc224f10'
|
||||||
|
down_revision = '17aff2e1354e'
|
||||||
|
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
from sqlalchemy.dialects import mysql
|
||||||
|
|
||||||
|
def upgrade(tables):
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
op.add_column('repositorybuildtrigger', sa.Column('disabled_datetime', sa.DateTime(), nullable=True))
|
||||||
|
op.create_index('repositorybuildtrigger_disabled_datetime', 'repositorybuildtrigger', ['disabled_datetime'], unique=False)
|
||||||
|
# ### end Alembic commands ###
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade(tables):
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
op.drop_index('repositorybuildtrigger_disabled_datetime', table_name='repositorybuildtrigger')
|
||||||
|
op.drop_column('repositorybuildtrigger', 'disabled_datetime')
|
||||||
|
# ### end Alembic commands ###
|
|
@ -295,10 +295,12 @@ def update_trigger_disable_status(trigger, final_phase):
|
||||||
error_threshold = config.app_config.get('SUCCESSIVE_TRIGGER_INTERNAL_ERROR_DISABLE_THRESHOLD')
|
error_threshold = config.app_config.get('SUCCESSIVE_TRIGGER_INTERNAL_ERROR_DISABLE_THRESHOLD')
|
||||||
|
|
||||||
if failure_threshold and trigger.successive_failure_count >= failure_threshold:
|
if failure_threshold and trigger.successive_failure_count >= failure_threshold:
|
||||||
|
trigger.disabled_datetime = datetime.utcnow()
|
||||||
trigger.enabled = False
|
trigger.enabled = False
|
||||||
trigger.disabled_reason = RepositoryBuildTrigger.disabled_reason.get_id('successive_build_failures')
|
trigger.disabled_reason = RepositoryBuildTrigger.disabled_reason.get_id('successive_build_failures')
|
||||||
elif (error_threshold and
|
elif (error_threshold and
|
||||||
trigger.successive_internal_error_count >= error_threshold):
|
trigger.successive_internal_error_count >= error_threshold):
|
||||||
|
trigger.disabled_datetime = datetime.utcnow()
|
||||||
trigger.enabled = False
|
trigger.enabled = False
|
||||||
trigger.disabled_reason = RepositoryBuildTrigger.disabled_reason.get_id('successive_build_internal_errors')
|
trigger.disabled_reason = RepositoryBuildTrigger.disabled_reason.get_id('successive_build_internal_errors')
|
||||||
|
|
||||||
|
|
Reference in a new issue