Nybble Processing Mainframe
    Wondering what’s next for npm?Check out our public roadmap! »

    @sec-block/secjs-circle

    1.0.2 • Public • Published

    SECJSTimeCircle

    js-standard-style

    This libaray would be used to get the next working group, which shoud begin to work. This libary used dgram third-party libary to use udp protocoll, in case to send and get message from ntp server.

    • Using ntp server pool to uniform unix time
    • Every 30s switch to next group, which should to work

    API

    new secjsCircle(config)

    Instance a circle object and selected the nearest ntp server based on the timezone

    • config: config json for instance

    secjsCircle.initialCircle()

    Initialize the timestamp, when the first group begin to work. Save the time stamp to attribute this.timeStampOfLastGroup

    secjsCircle.getWorkingGroupNumber(callback)

    This API is a aync method to get the next group number after a while

    • callback: a callback function to get the caculated working group number

    secjsCircle.getNextGroupBeginTimeDiff(currentUnixTime, callback)

    This function used to get the time of next group begin to work

    secjsCircle.getNextPeriodeBeginTimeDiff(currentUnixTime, callback)

    This function used to get the time of the next periode

    Usage

    To use the libary to get the next working group, you need to do following steps.

    1. Select the nearest ntp server
    const SECjsCircle = require('<path of src>')
    const config = {
      circleTimeOut: 30,
      ntpTryOut: 0,
      timeServer: 'DE',
      sumOfGroups: 10,
      isMiningHost: true
    }
    let secjsCircle = new SECjsCircle(config)
    1. Initialize the time stamp of the circle if the group at the first time begin to work
    secjsCircle.initial(() => {
        // do something
    })
    1. Get the next group number, which should begin to work
    secjsCircle.getWorkingGroupNumber((nextWorkingGroupNumber) => {
        let workingGroupNumber = nextWorkingGroupNumber
        console.log(`The next working group should be ${workingGroupNumber}`)
    })

    License

    MIT

    Install

    npm i @sec-block/secjs-circle

    DownloadsWeekly Downloads

    1

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    9.88 kB

    Total Files

    7

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar