code: def fail(item, fail_type=None, max_tries=None, ttl=None):
      '''Fail a work item, either temporarily or permanently'''
      # default to fail_perm
      if fail_type is not None and fail_type == _c.FSQ_FAIL_TMP:
          return fail_tmp(item, max_tries=max_tries, ttl=ttl)
      return fail_perm(itemf fail(item, fail_type=None, max_tries=None, ttl=None):
      '''Fail a work item, either temporarily or permanently'''
      # default to fail_perm
      if fail_type is not None and fail_type == _c.FSQ_FAIL_TMP:
          return fail_tmp(item, max_tries=max_tries, ttl=ttl)
      return fail_perm(item)
docs: Fail a work item, either temporarily or permanently