How to store Files not in database

Hi,
I am trying to set up an external storage integration (Testing with Diskk, and later moving to S3).We have max_allowed_packet size and cant increase it to a higher number than 100kb because of which all attachments above the 100kb cut off range get dropped. So i wanted to ask if there is any ways to use external storage in such cases. As using the official External storage library with a 100kb Cutoff size doesn’t seem to work. We tried using disk, and uploading a 5mb image with a 4mb cutoff, does not seem to write to disk setup and does not produce any logs that we could find.
The Snippet to integrate External Disk was the following :

Set($ExternalStorageCutoffSize, 10000);
Plugin('RT::IR');
Set(%ExternalStorage,
        Type => 'Disk',
        Path => '/opt/rt5/var/attachments',
);

Hi, have you tried this?

Set($ExternalStorageCutoffSize, '100000');

Thank you for your reply and suggestion, Just tried adding this in this exact format, and it still doesn’t store it in external storage if the file is bigger than 100kb.

Have you scheduled attachments extraction?

Something similar in cron:

0 0 * * * root /opt/rt5/sbin/rt-externalize-attachments -v

saving to external storage is not immediate but must be scheduled

We didn’t schedule as the idea was to get them directly to the external storage as we have limitation on max_allowed_packet_size in our database of 100kb so we cant store anything over that in database in one go, so to mitigate this we wanted to use ExternalStorage and store anything over the cutoff size there. Sorry to not clarify this before. The cronjob/and externalize-attachments in general works all good.

I don’t think it can be done, but I’ve only been using RT for a few months. What I understand is that the limit is used when the job is being scheduled not while the ticket is being created. I’ll leave the word to more experts :wink:

Thank you for the reply, and yes it sure seems like the functionality is only triggered when the cron job is run.