golang常驻后台类worker模板
golang中经常会用到常驻后台类的worker,实现例如消费队列、定期执行任务、定期统计数据等功能。
这里自己实现了通用的worker模板,主要有以下功能:
panic自动重启,最大重启次数可自定义。optional参数,有默认参数和支持自定义参数。busy模式和idle模式,执行完任务后睡眠不同的时间。支持以一定的频率执行,例如每5分钟执行一次任务。可动态的通过channel控制任务的启动和暂停。ps:此处可结合etcd实现分布式选主机制。支持用context优雅的停止,worker停止后waitG...