queue_worker
简介
提供创建一个队列和一个或者多个消费协程的对象
组件接口
QueueWorker.gs
一个具有一个或多个消费协程和一个消息队列的模型,用于处理来自消息队列的任务
函数原型 | 函数作用 |
---|---|
void start() | 启动服务 |
void stop() | 关闭服务 |
mixed get_property(string key) | 获取属性值 |
string get_name() | 获取本对象的名字 |
string get_desc() | 获取本对象的描述 |
int get_queue_size() | 获取当前消息队列待处理消息的数量 |
bool dispatch(mixed data, float wait_timeout_seconds = -1) | 发送数据到消息队列(数据被复制) |
bool dispatch_raw(mixed data, float wait_timeout_seconds = -1) | 发送数据到消息队列(数据不被复制) |
queue_worker.gs
函数原型 | 函数作用 |
---|---|
object new_worker(string name, function entry_func, map properties = ) | 创建一个队列和一个或者多个消费协程的对象 |
样例
import pkg.queue_worker;
map result = { "value" : 0 };
object worker = queue_worker.new_worker("test", (int value) {
result.value := result.value + value;
});
int total = 0;
for (int i = 1 upto 1)
{
total += i;
worker.dispatch(i);
}
worker.close();