@argh.arg('channels',nargs='*',help='Channels to backfill from')
@argh.arg('channels',nargs='*',help='Channels to backfill from')
@argh.arg('--base-dir',help='Directory to which segments will be backfilled. Default is current working directory.')
@argh.arg('--base-dir',help='Directory to which segments will be backfilled. Default is current working directory.')
@argh.arg('--qualities',help="Qualities of each channel to backfill. Comma seperated if multiple. Default is 'source'.")
@argh.arg('--qualities',help="Qualities of each channel to backfill. Comma seperated if multiple. Default is 'source'.",type=comma_seperated)
@argh.arg('--extras',help="Extra non-segment directories to backfill. Comma seperated if multiple.",type=comma_seperated)
@argh.arg('--metrics-port',help='Port for Prometheus stats. Default is 8002.')
@argh.arg('--metrics-port',help='Port for Prometheus stats. Default is 8002.')
@argh.arg('--static-nodes',help='Nodes to always backfill from. Comma seperated if multiple. By default empty.')
@argh.arg('--static-nodes',help='Nodes to always backfill from. Comma seperated if multiple. By default empty.', type=comma_seperated)
@argh.arg('--backdoor-port',help='Port for gevent.backdoor access. By default disabled.')
@argh.arg('--backdoor-port',help='Port for gevent.backdoor access. By default disabled.')
@argh.arg('--start',help='If a datetime only backfill hours after that datetime. If a number, bacfill hours more recent than that number of hours ago. If None (default), all hours are backfilled.')
@argh.arg('--start',help='If a datetime only backfill hours after that datetime. If a number, bacfill hours more recent than that number of hours ago. If None (default), all hours are backfilled.')
@argh.arg('--delete-old',help='If True, delete hours older than start. By default False.')
@argh.arg('--delete-old',help='If True, delete hours older than start. By default False.')
@ -572,17 +638,12 @@ class BackfillerWorker(object):
@argh.arg('--localhost',help='Name of local machine. Used to prevent backfilling from itself. By default the result of socket.gethostname()')
@argh.arg('--localhost',help='Name of local machine. Used to prevent backfilling from itself. By default the result of socket.gethostname()')
@argh.arg('--download-concurrency',help='Max number of concurrent segment downloads from a single node. Increasing this number may increase throughput but too high a value can overload the server or cause timeouts.')
@argh.arg('--download-concurrency',help='Max number of concurrent segment downloads from a single node. Increasing this number may increase throughput but too high a value can overload the server or cause timeouts.')
@argh.arg('--recent-cutoff',help='Minimum age for a segment before we will backfill it, to prevent us backfilling segments we could have just downloaded ourselves instead. Expressed as number of seconds.')
@argh.arg('--recent-cutoff',help='Minimum age for a segment before we will backfill it, to prevent us backfilling segments we could have just downloaded ourselves instead. Expressed as number of seconds.')