IYS Worker
This service will handle the IYS update jobs. If a user changes the communication preference in some medium API will create a IYS job and push to RabbitMQ.
IYS Worker will consume the IYS jobs and will send the new preferences to central IYS system.
IYS has some rate limit restrictions in authentication endpoints. You cannot perform login too frequently. Therefore, after login the access and refresh tokens will be encrypted with AES-256 and stored in redis.
After project restart, process will check the redis for encrypted tokens, if there is one it will use this token. It will perform login only if the token is about to expire.
If user doesn't have any prior preference and a RET preference is sent, IYS will return an error response. This case is not handled but, it's not a critical error and can be ignored. Since error occurs during job processing the job will be inserted into /fallback queue. This behaviour will be fixed in the future.