You can almost order or dine any time. Some food may not be available 2 hours before landing so you may like to pre-order and ask them to serve by certain time. You can even ask the FA to wake you up at your desired time for meal. You may have multiple entrees occasionally. As far as caviar, once I asked for a second caviar about 8 hours into flight and they still had it.