diff --git a/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/consolidate-observations b/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/consolidate-observations index 0a25a2e53e0..2f3b8abc4ef 100755 --- a/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/consolidate-observations +++ b/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/consolidate-observations @@ -115,4 +115,5 @@ def main(): if __name__ == '__main__': + util.sleep() main() diff --git a/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/forecast b/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/forecast index a3f73c1edd2..3cdccff3a6b 100755 --- a/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/forecast +++ b/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/forecast @@ -242,6 +242,7 @@ def main(forecast_interval, forecast_iterations): if __name__ == '__main__': + util.sleep() try: args = [int(sys.argv[1]), int(sys.argv[2])] except IndexError: diff --git a/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/get-observations b/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/get-observations index 394add6012c..e090f3afab0 100755 --- a/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/get-observations +++ b/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/get-observations @@ -40,6 +40,8 @@ import re import requests +import util + BASE_URL = ('http://datapoint.metoffice.gov.uk/public/data/' 'val/wxobs/all/json/{site_id}' @@ -215,5 +217,6 @@ def main(site_id, api_key=None): if __name__ == '__main__': + util.sleep() main(os.environ['SITE_ID'], os.environ.get('API_KEY')) diff --git a/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/get-rainfall b/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/get-rainfall index 481b203765f..f2b602cfbd2 100755 --- a/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/get-rainfall +++ b/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/get-rainfall @@ -195,4 +195,5 @@ def main(): if __name__ == '__main__': + util.sleep(2) # make the tutorial run a little slower main() diff --git a/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/post-process b/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/post-process index 3316152e8e2..c834d644cf9 100755 --- a/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/post-process +++ b/cylc/flow/etc/tutorial/cylc-forecasting-workflow/bin/post-process @@ -101,6 +101,7 @@ def main(site_name, time): if __name__ == '__main__': + util.sleep() try: args = (sys.argv[1].lower(), int(sys.argv[2])) except IndexError: diff --git a/cylc/flow/etc/tutorial/cylc-forecasting-workflow/lib/python/util.py b/cylc/flow/etc/tutorial/cylc-forecasting-workflow/lib/python/util.py index 2addf5c5f2d..6f24b28cbe0 100644 --- a/cylc/flow/etc/tutorial/cylc-forecasting-workflow/lib/python/util.py +++ b/cylc/flow/etc/tutorial/cylc-forecasting-workflow/lib/python/util.py @@ -21,9 +21,11 @@ from copy import copy from contextlib import suppress import math -import jinja2 +import os import sys +import time +import jinja2 R_0 = 6371. # Radius of the Earth (km). @@ -301,3 +303,12 @@ def generate_html_map(filename, template_file, data, domain, resolution): lat2=domain['lat2'], data=data )) + + +def sleep(secs=4): + """Make the tutorials run a little slower so users can follow along. + + (Only if not running in CI). + """ + if 'CI' not in os.environ: + time.sleep(secs) diff --git a/cylc/flow/etc/tutorial/runtime-tutorial/flow.cylc b/cylc/flow/etc/tutorial/runtime-tutorial/flow.cylc index 5356e113973..63ddf2a6c4e 100644 --- a/cylc/flow/etc/tutorial/runtime-tutorial/flow.cylc +++ b/cylc/flow/etc/tutorial/runtime-tutorial/flow.cylc @@ -1,6 +1,7 @@ #!jinja2 [scheduler] UTC mode = True + allow implicit tasks = True # TODO: remove at end of exercise [scheduling] # TODO: Set initial cycle point