Email attachment via load balancer | Community
Skip to main content
Milan_Vucetic
Level 9
December 16, 2019
Solved

Email attachment via load balancer

  • December 16, 2019
  • 2 replies
  • 4202 views

Hi everyone,

 

I am playing with email attachments from local computer and it works fine when it is used on test environment as there exist only one app server.

When it is used on production environment where exist two app servers and load balancer in front of them, attachment is uploaded only on one server (which is current in the moment of the upload) and some temporary error is thrown:

Unable to finalize storage of resource as the file has not been uploaded...

 

So, until we start delivery execution load balancer can switch user to another server where file does not exist and brake it.

Is there a "easy & nice" way to overcome this without uploading files with workflows, etc... ?

 

Regards,

Milan

 

 

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by Jonathon_wodnicki

Hi,

 

Easy answer is to just mount resource dirs from a network share, which you should be doing anyway for workflow file uploads etc.

Another option is to list both app servers as mta child's in their instance confs, which logically should cause the first to publish attachments to the second and vice-versa.

Finally, your load balancer should be in active/passive mode, with all traffic going to the primary until it dies. There are other issues with active/active, e.g. preventing users from reliably using unconditional halt on workflows.

 

Thanks,

-Jon

2 replies

Manoj_Kumar
Community Advisor
Community Advisor
December 16, 2019

Hello Milan,

 

You can use Amazon S3 integration in this case and upload your static content there.

 

Thanks,

Manoj

Manoj  | https://themartech.pro
Milan_Vucetic
Level 9
December 16, 2019

Hi Manoj,


this is helpful. I am trying to find and easy way (change form/js code) in order to solve it.

As we have a mounted partition to both server (for sharing logs and partition is visible by both servers) it is feasible to change upload path to there but I cannot find where this is defined.

By default attach is uploaded to the /usr/local/neolane/nl6/var/InstanceName/upload

 

Regards,

Milan

Jonathon_wodnicki
Community Advisor
Jonathon_wodnickiCommunity AdvisorAccepted solution
Community Advisor
December 18, 2019

Hi,

 

Easy answer is to just mount resource dirs from a network share, which you should be doing anyway for workflow file uploads etc.

Another option is to list both app servers as mta child's in their instance confs, which logically should cause the first to publish attachments to the second and vice-versa.

Finally, your load balancer should be in active/passive mode, with all traffic going to the primary until it dies. There are other issues with active/active, e.g. preventing users from reliably using unconditional halt on workflows.

 

Thanks,

-Jon

Milan_Vucetic
Level 9
December 20, 2019

Hi wodnicki,

I can change upload path on app servers and that will solve my problem:

 

from uploadDirectory="$(XTK_INSTALL_DIR)/var/$(INSTANCE_NAME)/upload/"  to uploadDirectory="mounted_partition/upload/"

The question is, can this change impact any other regular process on AC?

 

Thanks in advance.

Milan