I am using the Salesforce Bulk API in several solutions for working with Salesforce data outside of Salesforce. Based on experience and memory (which of course can be flawed), it seems to me that Salesforce Bulk API calls mostly complete within 2 minutes, but if they take longer than that, they are probably going to take more than 5 minutes.
Further anecdotal evidence suggests that when a Bulk API job is running longer than 2 minutes, you will get your results quicker by repeating your Bulk API call vs. waiting around for the original request to complete.
I'm tempted to methodize my bulk query logic to abort the original request and retry after 120 seconds without a result, but I don't have hard data or behind-the-scenes information about what Salesforce does with Bulk API requests to back this up.
Is a brand new Bulk API request really more likely to return a result in the next 2 minutes than one that was sent 2 minutes ago? Or is that totally irrational on my part?