Skip to main content

Mobio scheduler partitioning libs

Project description

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

nop: maximum partitions now support is 1000
delays: maximum time delays now support is 3600 seconds (1 hour)

sample code:

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", zookeeper_uri="127.0.0.1:2181")

Change logs

  • 0.1.2

    • log state of worker

    • get free worker

    • Để 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

    • fix issue khi worker rebalance không tự động cập nhật danh sách partitions.
  • 0.1.4

    • fix issue register worker
    • cơ chế đảm bảo việc register worker với hệ thống csdl
  • 0.1.5

    • Refix issue register worker
    • Thử nghiệm cơ chế đảm bảo 1 partition chỉ nằm trên 1 worker.
    • NOTE: phần này chưa đảm bảo được việc đủ partitions trên các workers
  • 0.1.6

    • missing version do nâng cấp CICD
  • 0.1.7

    • Sử dụng threading để quản lý heart_beat và expiry_time
    • Kiểm tra trạng thái subscribe của worker mỗi khi chuẩn bị process data (Đảm bảo rằng việc subscribe phải diễn ra thành công tránh 2 worker cùng xử lý 1 partition)
  • 0.1.8

    • Cho phép truyền zookeeper_uri vào param khi khởi tạo Schedule, nếu không truyền thì lấy mặc định từ ENV: ZOOKEEPER_CLUSTER
  • 0.1.9

    • Tự động quản lý và cập nhật state cho worker.
    • fix lỗi tự động release worker ở bản 0.1.7
  • 0.1.10

    • Fix lỗi không release khi set time delay giữa các lần chạy nhỏ hơn 15 seconds :(
  • 0.1.11

    • Fix lỗi list partitions = [] dẫn đến việc không truy vấn được data trong db
    • Bỏ 1 số function validate không cần thiết.
  • 0.1.12

    • Chuyển luồng update state vào main thread. Do ko reproduce được case trung state vẫn update trên k8s. :'(

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

m_scheduler_partitioning-0.1.12.tar.gz (10.8 kB view details)

Uploaded Source

File details

Details for the file m_scheduler_partitioning-0.1.12.tar.gz.

File metadata

File hashes

Hashes for m_scheduler_partitioning-0.1.12.tar.gz
Algorithm Hash digest
SHA256 e8dbf50167f915dd703bf23b763ec40c6d839ef108c7a6e8fa739f310bd722ca
MD5 5ad2c5de91e975bef0d89dacf4b2b3a3
BLAKE2b-256 1673e4fb2963ad5777f32a8e0d74a63fd4a8702fd9754ff4a1c735f29e5a6084

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page