本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
轮询 Amazon SWF 中的任务
决策程序和活动工作线程使用长轮询与 Amazon SWF 进行通信。决策程序或活动工作线程会定期启动与 Amazon SWF 的通信,通知 Amazon SWF 它可以接受任务,然后指定用于获取任务的任务列表。
如果任务位于指定任务列表中,Amazon SWF 会立即在响应中返回该任务。如果没有提供任务,Amazon SWF 将保持 TCP 连接打开最长 60 秒,这样,如果任务在此时间内变为可用,就可以在同一连接中返回该任务。如果 60 秒内没有提供任务,则会返回空响应并结束连接。(空响应为 Task 结构,其中的 taskToken 值为空字符串。) 如果发生这种情况,决策程序或活动工作线程应重新轮询。
长时间轮询对大容量任务处理有效。决策程序和活动工作线程可管理自己的容量,当决策程序和活动工作线程处于防火墙后时使用方便。