upload recursive task