Commit graph

68 commits

Author SHA1 Message Date
Griatch
3b704d37dc Made sure all proxies of a given database model share the same idmapper cache 2014-12-21 16:06:10 +01:00
Griatch
9ee6b718da Some issues with unique restraint when re-saving objects. 2014-12-21 15:02:34 +01:00
Griatch
4e0b5be962 Fixed creation. Time to start cleaning the .dbobj hierarchy. 2014-12-20 19:29:38 +01:00
Griatch
e28d544fb0 The manager wrapper has trouble finding the path of the current class. 2014-12-20 19:19:48 +01:00
Griatch
043ebf7213 Fixed metaclass to handle proxy correctly. Some issues with getting path properties set correctly. 2014-12-20 19:04:49 +01:00
Griatch
32e44dceab Made the proxy typeclass system work in principle, using a wrapper of the __new__ method for the class. 2014-12-20 18:30:39 +01:00
Griatch
8314d8ba5e Now solving issues with faulty imports. Still nothing functional. 2014-12-20 17:03:34 +01:00
Griatch
08d0442f9c Strange issue with __init__, proxy implementation not working at the moment. 2014-12-19 16:56:28 +01:00
Griatch
3adeade69a Some errors in the proxy setting. 2014-12-19 16:41:20 +01:00
Griatch
236c0d17d3 First non-tested version of moving typeclasses to proxy models. 2014-12-19 16:29:41 +01:00
Griatch
46781d3ee1 Blocked cache rmem checks in windows until we have figured out some other way to check this. 2014-09-06 08:46:54 +02:00
Griatch
3a6a8d5c48 Made objects clear more handlers on deletion, also scramble some methods and all database access wrappers to avoid an object memory instance being accessed after it has been deleted. See #509. 2014-06-15 12:27:48 +02:00
Griatch
f2c75bd0f6 Added periodic idmapper cache size check along with conditional flush mechanism. Ran a lot of tests and stress tests to get statistics on usage. 2014-05-18 18:28:10 +02:00
Griatch
f49f33d40d Made more work around memory profiling, added a small Script and display program for logging memory usage 2014-05-18 10:54:04 +02:00
Griatch
58af67bdf2 Fixed flush protection for instances, memory is successfully made available on an idmapper flush now. 2014-05-17 14:38:43 +02:00
Griatch
4b8ed234fd Added /flushmem switch to the server command to incur the idmapper flushing. 2014-05-15 23:08:21 +02:00
Griatch
e7e50039d7 Added deepsize function for size evaluation of object and its referends 2014-05-15 21:27:30 +02:00
Griatch
bc80132229 Made sure Attributes get dereferenced correctly. 2014-05-15 20:25:09 +02:00
Griatch
5e4af3f851 Implemented and tested set_recache_protection() on all idmapped objects, to avoid them getting recached. Added successfully to nattribute handler. 2014-05-15 10:05:41 +02:00
Griatch
a617924fb0 Made flush_cache work correctly on idmapper; added _idmapper_cache_flush_safe variable for 'securing' objects from cache cleanups. Nothing using this system yet. 2014-05-15 09:51:24 +02:00
Griatch
b473feec06 Added _set_recache() method to all SharedMemoryModel instances. This allows for marking an object as safe or unsafe for recaching. 2014-05-14 21:34:15 +02:00
Griatch
87d1254b2c Changed contrib/procpool's PROC_MODIFIED_OBJS list to sit in src.utils.idmapper.base as well as be a WeakValueDictionary instead of a normal list. This removes unnecessary reference counts to objects. 2014-05-14 20:07:59 +02:00
Griatch
9bfb829274 Implemented WeakSharedMemoryModel for Attributes. 2014-05-11 15:23:11 +02:00
Griatch
c5839eebba Forgot a fix. 2014-05-11 07:28:44 +02:00
Griatch
0c848eb9a2 Reverted to a standard dictionary in SharedMemoryBase; not having this does return the old 'going out of scope' from yesteryear. 2014-05-11 07:27:56 +02:00
Griatch
e11b242365 Continued with weakref and lazyloading fixes. 2014-05-11 01:05:59 +02:00
Griatch
63c099c22f Various fixes and debugging of weak-ref changes 2014-05-10 19:38:23 +02:00
Griatch
393a3e5e73 Added check to location setter that makes sure to stop a location-loop forming. This closes #454. 2014-02-15 21:05:23 +01:00
Griatch
f11f330e95 Moved db_player and db_sessid under metaclass wrappers. 2013-09-23 23:10:23 +02:00
Griatch
642ae2faf9 Fixed cache and metaclass irregularities as well as the location and contents caches. 2013-09-22 21:48:08 +02:00
Griatch
0a394929b7 Fixed an issue in idmapper metaclass wrapper, it caused text fields to be occationally be written with objects. 2013-09-22 19:56:51 +02:00
Griatch
4659ddbfc3 Changed object.msg() to relay directly to connected session rather than via the player.msg() method. 2013-09-22 11:39:24 +02:00
Griatch
dd27b4b77d More bugfixes. 2013-09-21 22:22:53 +02:00
Griatch
2ba16e155e Fixed a bug in amp that made reloading not work. 2013-09-21 22:00:46 +02:00
Griatch
2f5c895f76 Removed LiteAttributes, made Nicks use Attributes. Added category and strvalue fields to Attribute. Made Attributes accessible through an AttributeHandler, like most other advanced properties. 2013-08-24 21:23:43 +02:00
Griatch
37886adea1 Added signalhandler in test suite, still issues. 2013-07-13 15:39:16 +02:00
Griatch
7b0c96640c Reverting metaclass wrapper for db_key, will have to look into why it behaves strangely. 2013-07-12 23:58:22 +02:00
Griatch
73a5800fbf Fixed updates of the contentmanager. Not all command tests run yet. 2013-07-12 22:08:15 +02:00
Griatch
a4042920e0 Fixed the migrations to get to a baseline version you can log into. 2013-07-11 22:24:55 +02:00
Griatch
9e10a41e18 First version with all caches seemingly working ok. Started to remove the on-model wrappers that are not handled by the idmapper metaclass. 2013-07-11 15:59:03 +02:00
Griatch
033344ad2c Moved get_evennia_pids into src.utils.utils for more general access. 2013-07-10 11:06:38 +02:00
Griatch
a0a94df83d Removed extra caching for fields (this slowed things down over normal django field caching). Considering reworking Attribute storage in order to make use of those caches as well. 2013-06-06 12:45:39 +02:00
Griatch
7351aacba5 Fixed an issue with setting location. Still errors with creating new objects. 2013-06-05 18:47:41 +02:00
Griatch
fb3259be8c Activated propcache with new cache system. Still not functioning correctly, also the content cache needs to be handled. 2013-05-29 23:07:44 +02:00
Griatch
b6383ddab9 Moved attr_cache to new caching system, activated all attribute updating signals. 2013-05-29 18:47:51 +02:00
Griatch
8202dba596 Changed cache system to use Django's cache mechanism. Changed field caches to make use of Django signalling instead of custom caching calls (this should make the system consistent also when called from the webserver). Created a wrapper system for easily wrapping fields with a default wrapper (so as to not have to explicitly define the properties (such as objdb.key) which all just do the same thing - load from the field and make sure to call save(). 2013-05-29 16:16:28 +02:00
Griatch
deafb9c544 Added cache-cleaning to the idmapper base class. This works to sync most changes from the admin site-side, but not location changes (which leaves the content cache stale). Thinking of testing the django in-built cache framework instead, maybe using custom fields? 2013-05-25 10:20:26 +02:00
Griatch
0a39b8f65e Webserver move to Server is finished and everything seems to work normally. 2013-05-24 21:10:31 +02:00
Griatch
20e093aa26 Settings and server configs updated. The caches between server and website threads are still not properly addressed - a change in the admin interface does not immediately translate to a change in-game. 2013-05-23 23:42:55 +02:00
Griatch
76fa0059ea First preparations for moving webserver to Server process. 2013-05-22 18:18:50 +02:00