So, we currently allow users to generate reports online, which are then downloaded as CSV files. The report requests go to a REST service implemented using Nifi - all is working well for around 800 users with 10 report types.
The requirement now is to create a 'data agent' facility. The way this would work is that users could define a data agent for reports to have these sent to them periodically (monthly, weekly, daily) via email. Report type, email and frequency/schedules of reports would be held in MySQL.
My initial thoughts are that Quartz is well suited for this. However, I would like to use Nifi to achieve the same - especially as I could implement the report generation and emailing facility using existing processors. Should I think about a combination of Nifi with Quartz - as Nifi internally already uses Quartz could I somehow leverage this? Is there a way to add schedules, jobs and possibly processors to execute dynamically to the existing Nifi scheduler?
Any thoughts/ideas would be most welcome.