Does firewalld periodically scan its directories?

I am having an issue where I programmatically create a service file (/etc/firewalld/services/name.xml) and then immediately try to add it (firewall-cmd --permanent --zone public --add-service name) and it frequently tells me that the service file is not found

If I put a delay (say 5seconds) in between it seems to work every time.

I can't find any documentation that this is the expected behavior.

Thanks
-Lesley Kimmel