Enterprise operational framework
Project description
*This package is originally developed in C#, and now try to migrate into Python version
Gyomu
Gyomu, which means Enterprise or Operation in Japanese, is used in enterprise. The purpose of this library is
- Shorten development time through framework
- Shorten troubleshooting in testing or in production
This library won't be used by library itself. It's used with RDB ( Now Postgres & MSSQL is supported )
This library contains lots of function, but major functionality would be
- Error handling / Logging
- Various Parameter management
- Task management
- Milestone management
- Others
Error handling / Logging
All status/ log to be stored in database Based on setting, status/log to be sent via email. Like log4net, etc, there are several logging type, such as Info / Warning / Business Notification / IT Error. For IT error, the status/log contains stack trace so that developer could resolve issue very quickly. The error is sent via email promptly so it doesn't take time to search inside log file.
When you use this framework, at least all public method should return StatusCode object. StatusCode object contains error/log information and when it's instantiated, it would be recorded in DB and be sent via email if necessary.
StatusCode's id is Int (32bit) 1st 12bit is ApplicationID which must be unique per your library 2nd 4bit is logging type, such as Info / Warning / Business Notification / IT Error. Remaining 16bit is Error ID which must be unique within your library. Combining these number lead to uniqueness among all libraries.
</code></pre>
<p>This is example of how to set StatusCode's id.
Regarding CODE_GEN function's argument</p>
<ul>
<li>ApplicationID</li>
<li>logging type</li>
<li>Error ID</li>
<li>Summary</li>
<li>Detail</li>
</ul>
<p>Your assigned ApplicationID must be registered in DB table, apps_info_cdtbl. apps_info_cdtbl column would be ApplicationID.
1-4095 can be assigned and 1 is already used in Gyomu library.
I would recommend you to set some rule by yourselves, such as common library would be <= 99, business logic library would be >=100 <500, Server side like web library would be >=500 <2000, GUI would be >=2000 or something like that.</p>
<p>Email recipient information need to be setup per ApplicationID on status_handler table. You can set To / CC address on this table.</p>
<h1><a href="#user-content-various-parameter-management" aria-hidden="true" class="anchor" id="user-content-various-parameter-management"></a>Various Parameter management</h1>
<p>In most programs, we tend to put external parameter on</p>
<ul>
<li>Configuration file</li>
<li>Environment Variables</li>
</ul>
<p>And I believe this is very difficult to manage for proper environment.
Sometimes, parameter must be different per user, must be different per machine, etc.</p>
<p>In this framework, parameter would be saved in database.
Using Json serialization, mostly any kind of data to be parameterized easily.</p>
<p>Also this parameterization supports several kind of encoding/encryption</p>
<ul>
<li>Base64 Encoding</li>
<li>AES Encryption</li>
<li>User specific encryption ( This is not supported in Python version so far)</li>
</ul>
<p>Base64 encoding can be used for easy masking.
It's easy to be decoded, but at a glance, we can't see raw value.</p>
<p>AES Encryption can be used for storing DB connection string, etc</p>
<p>User specific encryption can be used for personal password.
The encrypted value can be decrypted only by encrypted user.</p>
<p>This example stores/retrieves string list parameter</p>
<pre><code class="language-Python">
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gyomu-0.1.5a2.tar.gz.
File metadata
- Download URL: gyomu-0.1.5a2.tar.gz
- Upload date:
- Size: 41.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.9.2 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d945ffdd7f29e647d34ac97cb8e79b56d9f8b1415b8443eb8e54778f572a905a
|
|
| MD5 |
e84a1f2d8127a3547e70250f540090df
|
|
| BLAKE2b-256 |
57122fb5f623aaa5c69014c22c40b8be131cc3ec944808cb2ec014e4cc9cd483
|
File details
Details for the file gyomu-0.1.5a2-py2.py3-none-any.whl.
File metadata
- Download URL: gyomu-0.1.5a2-py2.py3-none-any.whl
- Upload date:
- Size: 35.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.9.2 Windows/10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ce4dd07d4771bb6772c9a911ca50f057c9a6bd6fcd0ccb422e402024bcd9be2
|
|
| MD5 |
5a92e14956ebf37bdd59eaf41e7f92f3
|
|
| BLAKE2b-256 |
c07841dfba76629609e6d99efd229cad86aa85192d17fb91db39eacc0b7cd3e0
|