Details
-
New Feature
-
Status: Closed (View Workflow)
-
P3
-
Resolution: Won't Do
-
None
-
None
-
-
Core: Platform
Description
The current periodic API works, but it operates at a global scope, rather than per-tenant. For some things, this is appropriate, but for something that should happen in the scope of database-contained information, it is problematic. In order to access actual records, it requires that the tenants be extracted via SQL query and dealt with manually.
This is problematic, as it moves the concern of tenant management and isolation into the module's implementation, meaning a bug there could potentially violate our goals of wanting to avoid any potential cross-tenant data manipulation.
So, instead of removing or changing the existing API, I would propose that a second API be added that would look something like:
public interface PeriodicPerTenantAPI { /** this implementation should return the delay in which to run the function */ public long runEvery(); /** this is the implementation that will be run every runEvery() milliseconds*/ public void run(Vertx vertx, Context context, String tenantId); }
TestRail: Results
Attachments
Issue Links
- relates to
-
CIRC-132 Backend Work for UICIRC-54: Anonymize Loan History
-
- Closed
-
-
CIRCSTORE-109 Implement request status "Closed - Pickup expired"
-
- Closed
-