def push_job(self, fun, *args, **kwargs):
assert callable(fun)<EOL>return self.put((fun, args, kwargs), block=True)<EOL>
put job if possible, non-blocking
:param fun:
:param args:
:param kwargs:
:return: