You could use an interactor to capture this behavior. Collective Idea uses interactors (https://github.com/collectiveidea/interactor
) to move complicated logic out of controllers. Thus, keeping your controllers SRP compliant (controllers handle requests, and that's it).
Think of an interactor as a step in a sequence. It has data that gets fed to the step (a context), a method that executes the step (.perform method). And the step can either succeed, or fail (with a message).
You can use the status of the executed interactor to control the flow of your app from your controller. Or if you want to, incorporate it into a background job if parsing the feed is something that takes longer than a handleable request.