Skip to content
This repository was archived by the owner on Oct 1, 2020. It is now read-only.

Commit dc99e5c

Browse files
authored
Merge pull request #67 from edx/yro/refine_heal_add_logging
Refine HEAL process, make logging louder
2 parents 89d4920 + 71e238b commit dc99e5c

File tree

6 files changed

+23
-8
lines changed

6 files changed

+23
-8
lines changed

bin/deliver

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ class DeliverCli:
6161
'worker',
6262
'--loglevel=info',
6363
'--concurrency=' + str(auth_dict['celery_threads']),
64-
'-Q ' + auth_dict['celery_deliver_queue'],
64+
'-Q ' + auth_dict['celery_deliver_queue'] + ',' + auth_dict['celery_heal_queue'],
6565
'-n deliver.%h'
6666
))
6767
)

bin/heal

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class HealCli:
3434
.replace(hour=0, minute=0, second=0, microsecond=0) \
3535
.astimezone(pytz.utc) + timedelta(days=1)
3636

37-
maintainer_healer.apply_async((self.binscript,), queue='transcode_stat', eta=go_time)
37+
maintainer_healer.apply_async((self.binscript,), queue=auth_dict['celery_heal_queue'], eta=go_time)
3838

3939

4040
def main():

control/veda_deliver.py

+5
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import logging
99
import shutil
1010
from os.path import expanduser
11+
import sys
1112

1213
import boto
1314
import boto.s3
@@ -35,6 +36,9 @@
3536
from veda_deliver_3play import ThreePlayMediaClient
3637

3738
LOGGER = logging.getLogger(__name__)
39+
# TODO: Remove this temporary logging to stdout
40+
logging.basicConfig(stream=sys.stdout, level=logging.INFO)
41+
3842
try:
3943
boto.config.add_section('Boto')
4044
except:
@@ -66,6 +70,7 @@ def run(self):
6670
Check the destination, route via available methods,
6771
throw error if method is not extant
6872
"""
73+
LOGGER.info('[VIDEO_DELIVER] {video_id} : {encode}'.format(video_id=self.veda_id, encode=self.encode_profile))
6974
if self.encode_profile == 'hls':
7075
# HLS encodes are a pass through
7176
self.hls_run()

control/veda_heal.py

+11-2
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
"""
1010
import datetime
1111
from datetime import timedelta
12+
import logging
1213
import os
1314
import sys
1415
import uuid
@@ -27,6 +28,10 @@
2728

2829
time_safetygap = datetime.datetime.utcnow().replace(tzinfo=utc) - timedelta(days=1)
2930

31+
LOGGER = logging.getLogger(__name__)
32+
# TODO: Remove this temporary logging to stdout
33+
logging.basicConfig(stream=sys.stdout, level=logging.INFO)
34+
3035

3136
class VedaHeal(object):
3237
"""
@@ -87,6 +92,7 @@ def determine_fault(self, video_object):
8792
"""
8893
Determine expected and completed encodes
8994
"""
95+
LOGGER.info('[HEAL] : {id}'.format(id=video_object.edx_id))
9096
if self.freezing_bug is True:
9197
if video_object.video_trans_status == 'Corrupt File':
9298
return []
@@ -116,8 +122,11 @@ def determine_fault(self, video_object):
116122
except KeyError:
117123
pass
118124

119-
# list comparison
120-
return self.differentiate_encodes(uncompleted_encodes, expected_encodes, video_object)
125+
requeued_encodes = self.differentiate_encodes(uncompleted_encodes, expected_encodes, video_object)
126+
LOGGER.info(
127+
'[HEAL] : Status: {status}, Encodes: {encodes}'.format(status=self.val_status, encodes=requeued_encodes)
128+
)
129+
return requeued_encodes
121130

122131
def differentiate_encodes(self, uncompleted_encodes, expected_encodes, video_object):
123132
"""

instance_config.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ val_username:
105105
val_transcript_create_url:
106106
val_video_transcript_status_url:
107107

108-
108+
# Celery Worker Config Information
109109
rabbitmq_broker:
110110
rabbitmq_pass:
111111
rabbitmq_user:

static_config.yaml

+4-3
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22
# This configuration should only have static settings.
33

44
# Celery Info
5+
onsite_worker: False
6+
celery_threads: 1
57
celery_app_name: veda_production
6-
# can do multiple queues like so: foo,bar,baz
7-
celery_worker_queue: encode_worker
8+
celery_worker_queue: encode_worker,large_encode_worker
89
celery_deliver_queue: deliver_worker
9-
celery_threads: 1
10+
celery_heal_queue: heal_queue
1011

1112
# S3 upload settings
1213
multi_upload_barrier: 2000000000

0 commit comments

Comments
 (0)