Since putting the project up yesterday and try it live, I found some other bugs and things to be tweaked, after all the fixes, it seems like the action can be trigger auto. It auto send the backup post to my Dayone account and it auto create a tweet for me on my twitter account.
What's the most difficult part of this project? how often should I pull from the server? 200wad is just an indie project, for sure it has limited resources, how can I design extend the feature without crushing the core service?
This is what I have implemented, will tweak it if there are more people using it and analysis some of the usage patterns. After the user initial signup and sync all their post, it will create the last sync timestamp. The hourly checking will start after 8 hours, this should be something can be tweak later, because most of the users are doing 1 post per day, but let's do it 8 hours for now.
After the first 8 hours, every hour the system will check for the user using one of the lightweight API call, the profile check and monitor if the post count has changed. Initial I was thinking just pull the full posts API and check, but that API is pulling user every post, it's going to consume more resources, if 10 or 100 users pulling that at the same time is going to affect the server.
Doing a lightweight API call on profile and check the post count, if is different then initial the full posts API call when this is happening, configured actions will be triggered and sending preset action webhook. This to help perform the action within 1 to 2 hours after the new post publish. This is what I try to achieve, avoid pushing the API server limit yet allow actions to happen in time.