What actions does job.commit perform in aws glue?

Every job script code should be ended with job.commit() but what exact action this function do?

  1. Is it just job end marker or not?
  2. Can it be called twice during one job (if yes - in what cases)?
  3. Is it safe to execute any python statement after job.commit() is called?

P.S. I have not found any description in PyGlue.zip with aws py source code :(