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. :'(
  • 0.1.13

    • reformat code.
  • 0.1.14

    • Support mongo >= 4

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.14.tar.gz (10.9 kB view hashes)

Uploaded Source

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