swf_wf_run_id` is now saved on task instances in activity task workers (for `run()`, `complete()`, `output()`, etc.) and decider workers (for `requires()`). This can be used when saving state scoped to the workflow execution. For example, you might use it as part of an output directory when the data segment being operated on is a function of the start time of the first task in the workflow, e.g. the latest checkpoint in a queue, as opposed to being a function of the Luigi parameter values.
In order to keep your workflows compatible with the regular Luigi scheduler, you might access the value this way and have a backup strategy for when it's missing:
python
def run(self):
run_id = getattr(self, 'swf_wf_run_id', None)
. . .