def __init__(self, userFunction, *args, **kwargs):
        # Use the user specified resource argument, if specified, else 
        # grab the default argument from the function, if specified, else default to None
        argSpec = inspect.getargspec(userFunction)
        argDict = dict(zip(argSpec.args[-len(argSpec.defaults):],argSpec.defaults)) \
                        if argSpec.defaults != None else {}
        argFn = lambda x : kwargs.pop(x) if x in kwargs else \
                            (human2bytes(str(argDict[x])) if x in argDict.keys() else None)
        Job.__init__(self, memory=argFn("memory"), cores=argFn("cores"),
                     disk=argFn("disk"), cache=argFn("cache"),
                     preemptable=argFn("preemptable"),
                     checkpoint=kwargs.pop("checkpoint") if "checkpoint" in kwargs else False)
        #If dill is installed pickle the user function directly
        #TODO: Add dill support
        #else use indirect method
        self.userFunctionModule = ModuleDescriptor.forModule(userFunction.__module__).globalize()
        self.userFunctionName = str(userFunction.__name__)
        self._args=args
        self._kwargs=kwargs
Get duration (in ms) of media descriptor object item.
dataset/ETHPy150Open BD2KGenomics/toil/src/toil/job.py/FunctionWrappingJob.__init__--crossover with--dataset/ETHPy150Open disqus/playa/playa/lib/vlc.py/Media.get_duration