我应该测试一个将在服务器端创建帐户的Web服务。
但是,由于体系结构原因,SOAP调用暂时不会返回消息。因此,我必须发出另一个cURL
命令来测试帐户是否已成功创建。
问题是:帐户创建时间大约需要50秒才能完成。如果我想自动化该过程,发出cURL
命令的最佳做法是什么?我应该总是等待约50秒或更长时间吗?或者我应该连续发送cURL
直到创建帐户/达到最长等待时间(比如说90秒)?
欢迎任何评论。
提前致谢。
答案 0 :(得分:1)
如果您不能(或不想)更改网络服务,我会选择两者的组合。
我应该总是等待约50秒或更长时间吗? 或者我应该连续发送cURL直到帐户被创建/达到最长等待时间(比如说90秒)?
我会等startingTime
秒(比如50
),然后每隔retryTime
秒拨打一次电话(比如说10
),最多{{1}调用(例如maxTries
)。那就是:
4
另一方面,为什么你需要等待50秒?
创建操作是否太慢,或者您使用的是异步创建系统?
如果您使用异步创建系统并且可以更改Web服务,您可以:
00:00 - call the createAccount
00:50 - issue first cURL command to check if account was created
if not created
01:00 - issue another cURL command to check if account was created
if not created
01:10 - issue another cURL command to check if account was created
if not created
01:20 - issue another cURL command to check if account was created
if not created: consider the creation has failed
服务返回一个票号(整数),然后创建一个createAccount
方法,以便检查您的创建调用是否已被处理。