GithubHelp home page GithubHelp logo

tinboxw / pareto Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zourva/pareto

0.0 0.0 0.0 272 KB

commonly used code base for 80% projects when programming

License: MIT License

Go 100.00%

pareto's Introduction

pareto

Frequently used go code for 80% projects when programming.

NOT stable yet and may change dramatically.

Features:

  • basics(box)
    • type converters
    • encoder & decoders
    • file operations
    • math functions
    • network operations
    • timestamps
    • cpu id
  • meta patterns
    • loop controller
    • state machine
  • network topology
    • MQTT broker embedded based on Mochi
    • MQTT client based on paho
    • MQ client based on nats
    • RPC server based on msgpack-rpc
    • RPC client based on msgpack-rpc
    • inter-module communication
      • inner-proc event bus based on EventBus
  • distributed node management
    • node provisioning & configuration
    • node status keeping & monitoring
    • node online/offline(join & leave)
    • admin api
      • node info maintenance
      • uploader & downloader
  • inner-process services
    • logging based on logrus
    • profiling
    • config management based on viper
    • options management based on cobra
    • working directory management
    • resource management
      • string literals

Examples:

package main

import (
	"fmt"
	"github.com/zourva/pareto"
	"github.com/zourva/pareto/meta"
	"time"
)

func main() {
	pareto.Setup()

	loop := meta.NewLoop("monitor", meta.LoopConfig{
		Tick:        1000,  // tick interval, 1000 ms
		Work:        1,     //event callback trigger ticks
		Sync:        false, //execute callback in a separate goroutine
		BailOnError: false,
	})

	loop.Run(meta.LoopRunHook{
		Working: func() error {
			fmt.Println("monitoring...")
			return nil
		},
	})

	time.Sleep(time.Second * 10)

	loop.Stop()

	pareto.Teardown()
}

pareto's People

Contributors

zourva avatar tinboxw avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.