Question about using xgboost for timeseries

I want to train an ML model with 3 input parameters 1 output using Xgboost regressor. My output data is time-dependent meaning that I have the values of output parameters at 500 time steps. Also, I have 1000 measurements; this means that I have 1000 input values and 1000 output values data at each time step. Now, I can train my model in two ways:

  1. Train an ML model for each time step separately. I have to do the training 500 times (for all time steps) and I have 1000 input and output values at each time step.
  2. Considering time as an additional input to the problem, and train the whole model once for all time steps. This way I have 500000 (500*1000) input and output values and I need to train the ML model once.

I am not sure which method is the best. Any suggestions in this regard? Do they have any preferences in comparison to each other at all? Any reference where I can read more about this?