跳到主要内容

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();