Пример #1
0
        public static async void Run([TimerTrigger("0 0 1 * * *", RunOnStartup = false)] TimerInfo myTimer, ILogger log)
        {
            log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
            var tableWrapper = new BigAzureTable <PostQueueEntity>("PostQueue");

            await DeletePostsFromTable(tableWrapper);
        }
Пример #2
0
        static async Task DeletePostsFromTable(BigAzureTable <PostQueueEntity> wrapper)
        {
            var query = new TableQuery <PostQueueEntity>().Where(
                TableQuery.CombineFilters(
                    TableQuery.GenerateFilterConditionForBool(nameof(PostQueueEntity.Tweeted), QueryComparisons.Equal, true),
                    TableOperators.Or,
                    TableQuery.GenerateFilterConditionForDate(nameof(PostQueueEntity.Timestamp), QueryComparisons.LessThan, DateTime.Now.AddDays(-7))
                    )
                );
            var posts = await wrapper.QueryPosts(query);

            TableBatchOperation batchOperation = new TableBatchOperation();

            posts.ForEach(post => batchOperation.Delete(post));

            await wrapper.ExecuteBatchOperation(batchOperation);
        }