我的 Azure Web 应用程序中运行了两个 Azure Web 作业:作业 A - 持续运行作业 B - 触发作业 A 的目的是基于两件事触发作业 B:作业 B 在过去一小时内未针对指定帐号运行(作为作业 A 的参数传入作业 B。从数据库确定的其他一些业务逻辑#2 很简单。我有一个问题是#1。作业 A 是否可以查询 Web 作业队列以查看作业 B 是否已执行?这是作业 B(触发):public class Functions{ public static void ProcessQueueMessage([QueueTrigger("triggeredqueue")] string message, TextWriter log) { var accountId = message; //DO STUFF WITH accountId HERE... } }这是作业 A(连续运行)。我已经添加代码中的注释,以显示我什么喜欢做的事:class Program{ static void Main() { while (true) { var accounts = getAccounts(); foreach (var account in accounts) { if (testOtherBusinessLogic(account)) { CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConnectionStringHelper.StorageConnectionString); CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient(); CloudQueue queue = queueClient.GetQueueReference("triggeredqueue"); queue.CreateIfNotExists(); //THIS IS WHAT IT IS DOING NOW: CloudQueueMessage message = new CloudQueueMessage(account.AccountId); queue.AddMessage(message); //THIS IS WHAT I WOULD LIKE IT TO DO: /* if (!queue.Any(x => x.RunDate > (DateTime.Now.AddMinutes(-60)) && x.Message == account.AccountId.ToString()) { CloudQueueMessage message = new CloudQueueMessage(account.AccountId); queue.AddMessage(message); } */ } } System.Threading.Thread.Sleep(7000); } }}
1 回答
- 1 回答
- 0 关注
- 99 浏览
添加回答
举报
0/150
提交
取消