jguadagno / jjgnet-broadcast

Repository for the automated broadcasting of blog post, conferences, and streams
MIT License
15 stars 2 forks source link

Refactor the scheduled items feature #89

Open jguadagno opened 2 years ago

jguadagno commented 2 years ago

This feature is not working as initially intended and needs some rework. Currently, at the scheduled time it takes an item, either a Table or SourceData, and raises an event that the publishers can subscribe to. The publisher then provides the 'content'.

On a new item added...

These event series could be a 'collection' of messages to send. The events/messages will be created based upon the event type.

jguadagno commented 1 year ago

Currently, when a scheduled_item is found in the database table of ScheduledItems that is due to be sent, a message is sent to the Event Grid topic of scheduled-item-fired which, currently, has three subscribers, Twitter, Facebook, and LinkedIn. The ProcessScheduledItemFired function for each of these publishers will craft a post/status to send to their respective platforms.

We should create or handle the (Process)NewSourceData event for Engagements and Talks and generate the requested scheduled events like "I'm speaking", "In 90 days", etc. Right now, these are manually created records in the database table.