Use Case: Subscriptions Management
We want to implement a subscription management using ATrigger. Using the old fashion way, it's really a time waster. Handling dates and user credits, handling the time of plan renew for each user depended on purchase date, making scheduled task for each user using terrible methods, and many more problems.
Solution Using A TriggerUsing A Trigger, time is not a problem at all. forget everything about time and just write a few lines of code on a page to just reset the user credit and charge the credit card when it called.
Make a renew function and make it accessible using a URL will accept a query as username.
*validateRequest CHECK IF john_lennon ACCOUNT IS NOT CANCELLED EXTEND john_lennon PLAN FOR 31 days CHARGE john_lennon $30
You need to set scheduling for each user when they purchased a plan. For example, if they signup for an annual plan and you need to reset their usage each month, add A Trigger task to run each 1month for 11 times (12? you have refilled for current month when you activated the plan).
tag("type") = "renew"
ATrigger.doCreate(TimeQuantity.Month(), "1","http://example.com/admin/renewUser?username=john_lennon", tags, 11);
The first call will be the next month from this moment.