Anonymous | Login | Signup for a new account | 2024-10-04 10:12 CDT |
Main | My View | View Issues | Change Log | Roadmap | Docs | Wiki | Repositories |
Relationship Graph | [ View Issue ] [ Dependency Graph ] | |||
|
||||
|
Viewing Issue Simple Details | |||||
ID | Category | Type | Reproducibility | Date Submitted | Last Update |
0000973 | [In-Portal CMS] Data Management | feature request | N/A | 2011-01-25 04:20 | 2011-10-03 03:19 |
Reporter | alex | View Status | public | ||
Assigned To | !COMMUNITY | ||||
Priority | minor | Resolution | open | ||
Status | needs work | ||||
Summary | 0000973: Daemon mode | ||||
Description |
There are situation, when there is a need to process large amounts of data in short time. To do that I propose to minimize action count, that In-Portal performs during it's initialization including: * doing database queries that won't help to perform requested action (e.g. loading phrase cache, when phrase are not used at all) * performing initialization of system parts that are not used (e.g. session initialization, when no login is made) In total In-Portal is temporarily converted to sort of unix-like daemon (standalone service), that quickly performs given requests. That's why I called such operation mode as "daemon mode". Usage (one of following): - add $_CONFIG['Misc']['DaemonMode'] = '1'; to "system/config.php" file when system-wide daemon mode is required - add define('DAEMON', 1); in PHP file, where daemon mode is required (e.g. cron.php, run_event.php, index.php, etc.); it should happen before FULL_PATH constant definition Tables never used in daemon mode: - CachedUrls (mod-rewrite caching won't work) - PhraseCache (phrase and configuration variable caching won't work) - Counters (counters, like member count won't work) - ThemeFiles (for mod-rewrite url parsing) - CustomField (no custom field data can be accessible) - Forms (new forms are not added to admin tree for their submission reviewing) Proposed database table permissions that should be at least for this to work: GRANT SELECT ON `inportal_database`.`inp_Phrase` TO 'inportal_user'@'localhost'; GRANT SELECT ON `inportal_database`.`inp_ConfigurationValues` TO 'inportal_user'@'localhost'; GRANT SELECT ON `inportal_database`.`inp_Language` TO 'inportal_user'@'localhost'; GRANT SELECT ON `inportal_database`.`inp_Modules` TO 'inportal_user'@'localhost'; GRANT SELECT ON `inportal_database`.`inp_Theme` TO 'inportal_user'@'localhost'; GRANT SELECT ON `inportal_database`.`inp_Skins` TO 'inportal_user'@'localhost'; GRANT SELECT ON `inportal_database`.`inp_SiteDomains` TO 'inportal_user'@'localhost'; As you can clearly see there is only 7 database table needed, instead of 71 tables, that could be used (I'm not saying that all of them are used on each run). What won't be working: - building links using "use_section" parameter of "m_Link" tag - new agents are not added based on found "RegularEvents" unit config option (already existing agents will work of course) - new records in Category table are not added based theme file scanning (so you should do "Rebuild Theme Files" while daemon mode is off) - importing language pack - new theme file discovery (for mod-rewrite url detection) |
||||
Additional Information | For all this to work you need to enable memcache caching. |
Main | My View | View Issues | Change Log | Roadmap | Docs | Wiki | Repositories |
Web Development by Intechnic In-Portal Open Source CMS |