Commit graph

24 commits

Author SHA1 Message Date
Noi
b6551eec2e Modify shard reporting to be compact, informative 2020-10-24 22:43:20 -07:00
Noi
651de4e78a Configure all the awaits 2020-10-10 00:28:11 -07:00
Noi
9ef164bac1 Update DataRetention service
Renamed from StaleDataCleaner.
Modified to run only once concurrently, to not put extra load on the
database connection pool.
2020-10-09 23:57:30 -07:00
Noi
7ce04997f9 Modify background task settings
Solves an issue in which the bot lags on all input when the bot has
been fully initialized.
2020-10-08 21:56:44 -07:00
Noi
6ee0ad939e Improve comments, remove redundant code 2020-10-08 21:46:36 -07:00
Noi
2f0fe8641a Implement own sharding system
The BirthdayBot class has been split up into ShardInstance and
ShardManager. Several other things have been reorganized so that shards
may act independently.

The overall goal of these changes made is to limit failures to sections
that can easily be discarded and replaced.
2020-10-04 21:40:38 -07:00
Noi
21d5c5b082 Add status update message 2020-09-25 17:25:08 -07:00
Noi
c77163cab3 Merge branch 'noguildcache' 2020-08-05 19:49:57 -07:00
Noi
f1e7bd8c67 Removed disconnected server count
Made redundant by per-shard status on every birthday update
2020-07-27 22:40:09 -07:00
Noi
657181ec3e Less async birthday updates; download users on connect
From testing, it appears DownloadUsersAsync hangs forever and has other
consequences if its corresponding server is not fully connected, or is
struggling to connect. This is despite all attempts to mitigate it and
detect any disconnections shortly before attempting it.
Additionally, birthday updates are now run asynchronously per shard, but
synchronously per guild in an attempt to keep rare instances of rate
limiting under control.
2020-07-27 22:30:15 -07:00
Noi
8f84b09b21 Reduce amount of automatic processing
These changes make the bot skip over needlessly collecting information
for guilds in which it is unnecessary, in most cases guilds that have
invited the bot but have not yet invoked any bot command.
2020-07-22 19:43:45 -07:00
Noi
ffbffdd9b4 Remove async multiple updates 2020-07-22 17:06:35 -07:00
Noi
b6c201d5a5 Fix user last_seen not updating properly
Also now displays basic statistics on how many records are updated in
each pass whenever StaleDataCleaner does its work.
2020-07-19 20:54:18 -07:00
Noi
608ab37aec Update background services to remove guild cache references
Possibly optimized StaleDataCleaner as well by making certain database
updates asynchronous
2020-07-18 00:01:14 -07:00
Noi
0bd9b79e50 Replace OperationStatus with test command 2020-07-14 11:59:14 -07:00
Noi
f839890b73 Fix StaleDataCleaner not working 2020-06-03 00:17:54 -07:00
Noi
75924cc096 Revert GuildStatistics to previous behavior
Sending in reports per shard is currently unnecessary.
Added GuildCache number display for further information. It may be worth
considering removing -that- in the future and load all database
information as needed.
2020-05-22 00:21:40 -07:00
Noi
2a15fc21c8 Implement per-shard reporting 2020-05-21 23:54:05 -07:00
Noi
c78276b6d5 Fix announcement formatting 2020-05-21 21:18:15 -07:00
Noi
0d93936bc8 Make corresponding changes from VB-based project 2020-05-19 19:15:54 -07:00
Noi
0b6f2c45a4 Add StaleDataCleaner and related changes 2020-04-10 00:20:47 -07:00
Noi
4a052e4394 Various improvements
Reorganized ProgressGuildAsync to better show its process instead of
having pieces of it scattered. Also improves performance by performing a
check before doing birthday processing.
Additionally, other parts of the file were condensed slightly.
2020-04-03 21:19:29 -07:00
Noi
c5cab92899 Slightly improve birthday update task handling 2020-04-03 20:58:02 -07:00
Noi
ddcde10e09 First commit for C# rewrite
All existing VB code was 'translated' to C# as closely as possible, with
minor changes and additional notes. Currently untested and likely
broken.
Further commits will go toward making overall improvements until this
version replaces the currently existing code.
2020-04-02 11:38:26 -07:00