Okay, first off let me start off with saying I know many BPs go on for months without eating. But mine usually eats like a pig. He occasionally goes on a 3 or 4 week hunger strike but always gets back into the rhythm of things after. He's never gone for this long. He looks healthy, he's moving around a lot. I haven't weighed him for a while but I don't believe he's lost any weight. I haven't changed his conditions. He pooped about 3 or 4 weeks back. He finished a shed cycle about 2 weeks ago, and got all his skin off no problem, except for a bit on his head, but that is off now. He does have a retained eye cap. (any idea how I can get rid of that? I heard baby oil and a cotton swab works.) I can't see anything physically wrong with him. I checked for mites. If he hasn't eaten by the end of January I might get a gerbil or 2 from my supplier, I hear BPs cant resist those. If the problem persists into February, I might change the set up of the tank, and maybe switch the substrate to indoor/outdoor carpeting (I was planning on doing that before, but then he stopped eating and I figured that would just stress him out.) I switched him to a smaller food, but he didn't touch those. Any help would be much appreciated. And when would a good time be to start worrying?

TL;DR Ball Python hasn't eaten in 2 months. Nothing appears to be wrong. I've heard of "Hunger Strikes" before. Any suggestions?