From d5469a97720fd094779880497467c4f6c798ab4a Mon Sep 17 00:00:00 2001 From: Chris Hill-Scott Date: Mon, 9 Jul 2018 11:23:42 +0100 Subject: [PATCH] Clean up old, incomplete jobs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We have a few old jobs which don’t have a `processing_started` date. This means that they always sort to the top of the jobs list in admin, no matter how old they are. We think this is due to an old bug where jobs would not be updated if a deploy was in progress. This commit backfills the `processing_started` data for these jobs, which will be roughly accurate. Complete accuracy is not the goal; having these jobs not sort to the top of the list is. This will affect 5 jobs across 3 services on production: ```sql select service_id, job_status, created_at, updated_at, processing_started, processing_finished, notification_count, notifications_sent, notifications_delivered, notifications_failed from jobs where processing_started is null and job_status = 'in progress'; ``` ``` service_id | job_status | created_at | updated_at | processing_started | processing_finished | notification_count | notifications_sent | notifications_delivered | notifications_failed --------------------------------------+-------------+----------------------------+----------------------------+--------------------+---------------------+--------------------+--------------------+-------------------------+---------------------- d47e5a1b-a04b-4398-8935-c8a266ce1d44 | in progress | 2017-09-29 13:49:41.512356 | 2017-10-01 02:01:05.281162 | | | 10615 | 0 | 0 | 0 128b91b6-2996-4107-bb65-51b7c24a728d | in progress | 2017-09-29 09:25:39.802623 | 2017-09-29 16:01:02.154291 | | | 10240 | 0 | 0 | 0 128b91b6-2996-4107-bb65-51b7c24a728d | in progress | 2017-09-29 09:31:52.455919 | 2017-09-29 16:01:01.990054 | | | 9930 | 0 | 0 | 0 128b91b6-2996-4107-bb65-51b7c24a728d | in progress | 2017-08-22 08:15:39.125999 | 2017-08-22 16:01:07.758805 | | | 6967 | 0 | 0 | 0 95316ff0-e555-462d-a6e7-95d26fbfd091 | in progress | 2016-05-27 14:44:18.114564 | 2016-06-13 00:18:14.542795 | | | 2742 | 2238 | 525 | 1713 (5 rows) ``` --- .../versions/0202_fix_old_incomplete_jobs.py | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 migrations/versions/0202_fix_old_incomplete_jobs.py diff --git a/migrations/versions/0202_fix_old_incomplete_jobs.py b/migrations/versions/0202_fix_old_incomplete_jobs.py new file mode 100644 index 000000000..4193fcbec --- /dev/null +++ b/migrations/versions/0202_fix_old_incomplete_jobs.py @@ -0,0 +1,30 @@ +"""empty message + +Revision ID: 0202_fix_old_incomplete_jobs +Revises: 0201_another_letter_org +Create Date: 2017-06-29 12:44:16.815039 + +""" + +# revision identifiers, used by Alembic. +revision = '0202_fix_old_incomplete_jobs' +down_revision = '0201_another_letter_org' + +from alembic import op + + +def upgrade(): + op.execute(""" + UPDATE + jobs + SET + processing_started = created_at + WHERE + processing_started IS NULL + AND + job_status = 'in progress' + """) + + +def downgrade(): + pass