def __init__(self, branch, job_type, metadata, **job_args): """Constructor. Extra keyword parameters are used to construct the underlying Job object. :param branch: The database branch this job relates to. :param job_type: The BranchJobType of this job. :param metadata: The type-specific variables, as a JSON-compatible dict. """ json_data = simplejson.dumps(metadata) SQLBase.__init__( self, job=Job(**job_args), branch=branch, job_type=job_type, _json_data=json_data)