Aperture-Development / MSync-2

Version 2 of MSync - Fully working and extra steak
https://www.Aperture-Development.de
GNU General Public License v3.0
12 stars 1 forks source link

Feature: MBSync Data Versions #80

Open ApertureDevelopment opened 2 years ago

ApertureDevelopment commented 2 years ago

Description

As of now, MBSync updates its data every few minutes to prevent the queries from overloading the dastabase. This logic has a flaw, if the user is banned on another server within this period it takes several minutes for the other servers to syncronize the ban, which could be enough time for the banned user to cause more trouble.

The solution for this would be a simplified query which can run every few seconds. It should be as simple as:

SELECT version FROM tbl_msyncdb_version WHERE module_id='mbsync_data'

Another solution would be to implement some kind of messaging service with increasing version numbers. For this we would need at least one new table. With this table we wouldnt need to query all MBSync bans every few minutes, but instead only syncronize changes across the servers. This would require the table to hold the following data: