Here is a short frame change script that auto clicks the Bake button for Indirect Lighting.
It does work, and it does crash. Blender 2.8 crashed about eight times before completing the 240 frame animated deforming emission mesh. After a crash, open Blender and pick up rendering from the last good frame.

It’s best to only activate the frame change script right before you plan on rendering the animation CTRL-F12. Once the script is linked to the frame change, even preview timeline scrubbing will trigger the rebake.
import bpy
###################################################
# Frame change intercept.
###################################################
is_busy = False
def frameChange(scene):
global is_busy
print("->%s" % scene.frame_current)
if (is_busy==False):
is_busy=True
#print("Attempting to DELETE light cache bake.")
#bpy.ops.scene.light_cache_free
print("Attempting light cache bake.")
# Play with delay value. Extend time if your scene has a heavy cache.
bpy.ops.scene.light_cache_bake(delay=8.1,subset='ALL') #ALL DIRTY CUBEMAPS
print("Finished light cache bake.")
is_busy=False
else:
print("Skipping extra event.")
###################################################
# REGISTER code.
###################################################
def register ():
bpy.app.handlers.frame_change_post.append(frameChange)
def unregister ():
bpy.app.handlers.frame_change_post.remove(frameChange)
if __name__ == "__main__":
register()