考虑从池中的任何主机上执行下载活动的fileprocessing示例,然后转换文件并将结果上载到与第一个相同的主机上,是否有办法将活动任务路由到(并非总是)基于工人可用性的SWF车队中的特定工人,原因是工人不应该过载可能影响延迟的任务。
答案 0 :(得分:0)
有两个用例不会使主机超载任务。第一种是主机只需要限制在其上运行的多个并行活动。它是通过设置ActivityWorker.setTaskExecutorThreadPoolSize属性来完成的。
第二种情况是主机需要限制在其上运行的活动序列的数量。例如,在文件处理示例中,限制要同时处理的文件数。解决方案是使用一个特殊的信号量活动,它在整个序列的持续时间内运行。以下是实施的概要:
变体是不使用取消,而是通过序列中的最后一个活动通知正在进行的信号量活动。