Metadata-Version: 2.1
Name: m-scheduler-partitioning
Version: 0.1.4
Summary: Mobio scheduler partitioning sdk
Home-page: https://github.com/mobiovn
Author: MOBIO
Author-email: contact@mobio.vn
License: MIT
Platform: UNKNOWN
Classifier: Topic :: Software Development
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Description-Content-Type: text/markdown
Requires-Dist: nanoid (==2.0.0)
Requires-Dist: kazoo (==2.8.0)

Thư viện scheduler multiple partitions của Profiling

<b>nop</b>: maximum partitions now support is 1000 
<br>
<b>delays</b>: maximum time delays now support is 3600 seconds (1 hour)

sample code:

```python
from mobio.libs.m_scheduler_partitioning.m_scheduler import MobioScheduler
from mobio.libs.m_scheduler_partitioning.scheduler_models.scheduler_state_model import SchedulerStateModel


class SampleScheduler(MobioScheduler):
    def process(self):
        if self.url_connection:
            SchedulerStateModel(self.url_connection).set_busy(
                worker_id=self.node_id
            )
        print("Hi there ! :)")


if __name__ == "__main__":
    SampleScheduler(root_node="test-scheduler", nop=100, delays=1, url_connection="mongodb://test_user:test_password@0.0.0.0:27017/test_db")

```
# Change logs
* 0.1.2
    1) log state of worker
    2) get free worker
    3) Để không bị mất 50k cho anh Lợi, thêm 2 index này:

      * db.scheduler_state.createIndex({"expiry_time": 1}, {expireAfterSeconds: 5, name="expiry_time_1"})
      * db.scheduler_state.createIndex({"root_node": 1, "state":1}, {name="root_node_1_state_1"})

* 0.1.3
    1) fix issue khi worker rebalance không tự động cập nhật danh sách partitions.

* 0.1.4
    1) fix issue register worker
    2) cơ chế đảm bảo việc register worker với hệ thống csdl

