'Save settings to JSON file specified in ``self._filepath``
If you\'re using this class via :attr:`Workflow.settings`, which
you probably are, ``self._filepath`` will be ``settings.json``
in your workflow\'s data directory (see :attr:`~Workflow.datadir`).'

@uninterruptible
def save(self):

    if self._nosave:
        return
    data = {}
    data.update(self)
    with LockFile(self._filepath):
        with atomic_writer(self._filepath, u'wb') as file_obj:
            json.dump(data, file_obj, sort_keys=True, indent=2, encoding=u'utf-8')
