google-cloud-dataflow - 管道范围的同步选项
问题描述
我正在寻找在管道内执行同步块的简单方法,确保没有任何工作人员的其他线程进入同一部分。
理由:我有一些外部 API 调用必须按顺序执行,而其他工作人员没有并发执行。必须执行此类调用的情况很少见,因此可以设置阻塞部分。作为解决方案,我可以创建处理此类请求的外部服务,但我正在寻找最简单的方法。
基本图如下所示:
if (!checkConditions(...)) {
withPipelineWiseLock(myHandleId, () -> {
if (!checkConditions(...)) {
try {
call1(...);
...
callN(...);
} catch (Exception c) {
...
}
}
}
}
解决方案
推荐阅读
- django - Django 2.2 - 在管理表单上更改相关的 auto_complete 字段
- java - Java ThreadPool 构造 - “何时创建线程”?
- talend - 如何在 talend 的 trow 生成器中插入延迟
- javascript - 具有同步用户提示的异步功能
- python - 使用带有 IAM 数据库身份验证的 python 连接到 AWS RDS
- ag-grid - rowModelType = 'infinite' 具有最新的 ag-grid 版本,当我重置 rowHeight 并重置数据源时,行加载异常
- regex - Powershell RegEx 不允许字符类
- woocommerce - WooCommerce - 在最后一个类别中获取(直接)父类别
- c# - USER32 SetWindowPos 隐藏光标
- docker - Docker-Compose(如 Vagrant)的私有可寻址 IP