DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
self.heartbeat()
self.executor.start()
runs = [
DagRun(dag_id=self.dag.dag_id, execution_date=dttm)
for dttm in self.dag.date_range(
start_date=self.bf_start_date, end_date=self.bf_end_date)]
self.submit_dagruns(runs)
self.target_runs = runs
while self.dagruns:
self.collect_dagruns()
self.process_dagruns()
self.executor.heartbeat()
self.heartbeat()
progress = self.get_progress()
self.logger.info(' | '.join([
'[backfill progress: {pct_complete:.1%}]',
'total dagruns: {total_dagruns}',
'total tasks: {total_tasks}',
'finished: {finished}',
'succeeded: {succeeded}',
'skipped: {skipped}',
'failed: {failed}',
]).format(**progress))
self.executor.end()
BackfillJob prints progress, like this:
[2016-04-28 18:26:00,011] {jobs.py:912} INFO - [backfill progress: 0.0%] | total dagruns: 1 | total tasks: 2 | finished: 0 | succeeded: 0 | skipped: 0 | failed: 0
Methods
The BackfillJob adds no new methods; its only difference from DagRunJob is that it generates and submits a list of DagRuns to itself.