self.logger.exception('Backfill failed. Retrying in {:.0f} s'.format(delay))
self.logger.exception('Backfill failed. Retrying in {:.0f} s'.format(delay))
self.stopping.wait(delay)
self.stopping.wait(delay)
@ -337,16 +353,16 @@ class BackfillerWorker(object):
delself.manager.workers[self.node]
delself.manager.workers[self.node]
@argh.arg("streams",nargs="*")
@argh.arg("streams",nargs="*")
@argh.arg('--base-dir','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('--variants',"Variants of each stream to backfill. Comma seperated if multiple. Default is 'source'.")
@argh.arg('--variants',help="Variants of each stream to backfill. Comma seperated if multiple. Default is 'source'.")
@argh.arg('--metrics-port','Port for Prometheus stats. Default is 8002.')
@argh.arg('--metrics-port',help='Port for Prometheus stats. Default is 8002.')
@argh.arg('--static-nodes','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.')
@argh.arg('--backdoor_port''Port for gevent.backdoor access. By default disabled.')
@argh.arg('--backdoor-port',help='Port for gevent.backdoor access. By default disabled.')
@argh.arg('--start','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('--run_once','If True, backfill only once. By default False.')
@argh.arg('--run-once',help='If True, backfill only once. By default False.')
@argh.arg('--node_file',"Name of file listing nodes to backfill from. One node per line in the form NAME URI with whitespace only lines or lines starting with '#' ignored. If None (default) do not get nodes from a file.")
@argh.arg('--node-file',help="Name of file listing nodes to backfill from. One node per line in the form NAME URI with whitespace only lines or lines starting with '#' ignored. If None (default) do not get nodes from a file.")
@argh.arg('--node_database','Address of database node to fetch a list of nodes from. If None (default) do not get nodes from database.')
@argh.arg('--node-database',help='Address of database node to fetch a list of nodes from. If None (default) do not get nodes from database.')
@argh.arg('--localhost','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()')