I have a cron job that runs every 10 minutes and updates the content-type and x-amz-meta. But since yesterday it seems like after the cron job run, Amazon is not picking up the
Cloudfront will cache a file/object until the cache expiry. By default it is 24 hrs. If you have changed this to a large value, then it takes longer.
If you anytime needs to force clear the cache, use the invalidation. It is charged separately.
Another option is to change the URL (object key), so it fetches the new object always.