我应该测试一个 Web 服务,它将在服务器端创建一个帐户。
但是,由于架构原因,SOAP 调用暂时不会返回消息。所以我必须发出另一个cURL
命令来测试帐户是否已成功创建。
问题是:帐户创建时间大约需要 50 秒才能完成。如果我想自动化该过程,发出cURL
命令的最佳做法是什么?我应该总是等待 50 秒或更长时间吗?或者我应该连续发送cURL
直到帐户被创建/达到最大等待时间(比如 90 秒)?
欢迎任何意见。
提前致谢。
我应该测试一个 Web 服务,它将在服务器端创建一个帐户。
但是,由于架构原因,SOAP 调用暂时不会返回消息。所以我必须发出另一个cURL
命令来测试帐户是否已成功创建。
问题是:帐户创建时间大约需要 50 秒才能完成。如果我想自动化该过程,发出cURL
命令的最佳做法是什么?我应该总是等待 50 秒或更长时间吗?或者我应该连续发送cURL
直到帐户被创建/达到最大等待时间(比如 90 秒)?
欢迎任何意见。
提前致谢。
如果您不能(或不想)更改 Web 服务,我会选择两者的组合。
我应该总是等待 50 秒或更长时间吗?或者我应该连续发送 cURL 直到帐户被创建/达到最大等待时间(比如 90 秒)?
我会等待startingTime
几秒钟(比如说50
),然后从那里每隔retryTime
几秒钟打一个电话(比如说10
),直到maxTries
打电话(比如说4
)。那是:
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
顺便说一句,为什么您需要等待 50 秒?
创建操作这么慢还是您使用的是异步创建系统?
如果您使用的是异步创建系统并且确实可以更改 Web 服务,您可以:
createAccount
服务返回一个票号(一个整数),然后创建一个checkTicket
方法,这将允许您检查您的创建调用是否已被处理。