Fortunately I had a backup of the DB from before the update. The bad thing is that the workers had run after that DB dump was made so I couldn't be sure that the message IDs hadn't been updated so restoring ran the risk of duplicate messages.
I wrote some code to dump the pickled settings from the good db backup out to files, moved them to the server, and restored just the good settings.
It was a big mistake to store the settings as pickled objects so fixing that is my top priority.
OK sorry for the downtime. What happened is that I added a feature which added some new settings.
This is all fine and good.
Each user's settings are stored as pickled python objects in the DB. Not the best choice but also not really a problem. Weirdly when the updated settings were written back to the DB the data was corrupted by mysql!
"Invalid utf8mb4 character string: '800495'"
When the settings would get read back out moa would crash.
Terribly sorry but right after you hooked up Moa I had to rollback the database to address a serious bug. You'll have to set up the connection again.
That was 9 days and now Moa is processing 405 bridges.
@limedaring The delay in cross-posting can be up to 5 minutes.
I added 3 more workers to split up the queue and then mastodon.social stopped responding causing the workers to hit their time limits ¯\_(ツ)_/¯
I'm going to add a feature to put a server in the penalty box if it responds with an error or timeout. All other accounts at that server will be skipped until a time limit is reached. Maybe 10 minutes?
If the per-bridge time doesn't change Moa should be able to scale up to ~1000 bridges and maintain a 5-minute delivery schedule.
It takes a worker about 90 seconds right now to process ~130 bridges. That's about 1.4 seconds to check mastodon, twitter, and possibly instagram for new messages.
Thanks to @moa_party we're now tooting tweets and vice versa so expect to see a lot more here!
Thanks to @moa_party we're now tooting tweets and vice versa so expect to see a lot more here! tweeted by @LubuntuOfficial
Moa is a Mastodon, Twitter, and Instagram cross-posting service