Slide 9
Slide 9 text
1 from celery import chain, chord, group
2
3 chain(
4 # Upload file to S3
5 upload_file(),
6 chord(
7 ([
8 # Extract ID3 metadata
9 chain(
10 extract_id3_metadata(),
11 resize_album_art(),
12 )(),
13
14 # Analyse waveform, normalise audio and
15 # run copyright checks in parallel
16 chord(
17 ([
18 chain(
19 analyse_waveform(),
20 normalise_audio(),
21 ),
22 run_copyright_checks()
23 ]),
24
25 # Run heavy recompress operations
26 # only if waveform analysis and copyright checks are passed
27 group(
28 [recompress_audio(quality) for quality in [128, 192, 320]],
29 )
30 )
31 ]),
32
33 # Run housekeeping methods in parallel
34 group(
35 index(),
36 publish_activity_graph(),
37 notify_user(),
38 )
39 )
40 )()