Pour 1 :Comme il est, vous n'avez pas la garantie que syncProcess
aura été exécuté au moment de l'exportation du client. Au lieu de cela, vous devriez faire quelque chose comme dans cette réponse
et exportez une promesse à la place.
Pour 2 :avec la solution à laquelle j'ai lié dans la question ci-dessus, cela serait pris en charge.
Pour 3 :une table de mises à jour intercepterait également les suppressions d'enregistrements, contrairement à la simple sélection dans la base de données, car vous ne savez pas quels enregistrements ont disparu.
Pour 4 :Le deuxième commentaire après l'article auquel vous avez lié fournit la réponse (indice :les horodatages ne sont pas strictement monotones).