Chickens have a player-proximity detector built into them. They don't lay eggs unless a player is close enough, and once they are close enough it takes 5 minutes for them to start laying.
Are you sure about that?
There's no mention of that in the Wiki, not that the Wiki is always right of course but it's usually pretty good, and it doesn't jibe with my experience using auto cookers, I never hung around and they still worked, though that was a few versions back.
What kind of range are you talking?
Unless maybe it's a server plugin or something, thinking about it I may have experienced that on a server once.
I can't find a citation, but emprirical observation indicates that chickens need to be in chunks that are 'entity processing' chunks in order to lay eggs.
(Those chunks near enough to the player to allow crops to grow, etc.)
Even in the spawn chunks, some events are only processed when a player is in range; while an iron farm will spawn golems continuously, an associated cane farm will not grow while the player is 'far away'.
Rollback Post to RevisionRollBack
WARNING: I have an extemely "grindy" playstyle; YMMV — if this doesn't seem fun to you, mine what you can from it & bin the rest.
I can now definitely state that chickens don't need a player nearby to lay eggs! (in vanilla single player 1.13.1 at least.)
I left 20 or so chicks on hoppers in the spawn chunks (chicks so they definitely wouldn't start laying eggs within the following 10 minutes), teleported 140000 blocks away and afk'd all night (IRL) now that it's morning I /kill'd myself to get back to spawn, since I hadn't checked where spawn was, and found 3 double chests full of eggs.
The Wiki page on spawn chunks says:
"Entities are only active if all chunks in an area of 5×5 chunks around them are loaded, limiting their activities to an "effective area" of 12×12 chunks around the world spawn point."
Then there are exceptions for plants, ice and the spawning of both hostile and passive mobs.
(Though passive mobs can apparently spawn within 240 blocks of a player, and hostile mobs despawn of course.)
But basically the center 12X12 blockschunks of the spawn chunks must be considered 'entity processing'.
I can confirm that this is correct from the code itself, which is the same for all mobs since they all share the same spawning algorithm, with flags passed in to determine which types of mobs should spawn (hostile or everything else, with passive mobs only spawning once every 400 ticks):
Also, the code actually force-loads chunks if the view distance is less than 7 (it does not check to see if the chunks are actually loaded when it counts them, which really just means adding chunk coordinates to a list, then when it calculates a random spawning point within each chunk it calls "World.getChunkFromChunkCoords", which will forcibly load a chunk if it isn't already loaded), so if passive mobs really spawned up to 240 blocks / 15 chunks away you'd see a 31x31 chunk area being loaded around the player (on a map viewer).