1 분 단위로 세분화되어 있고 (항상 사이트를 항상 켜기로 설정 한) 일정이 잡힌 Webjob 대신 WebJobs SDK Extension TimerTrigger를 사용합니다.
그런 다음 당신은 다음을 수행 할 수
- 이는 TimerTrigger 설정을 다시
- 실행해야 할 때 코드가 마지막으로 실행 사용자와 설정에 때 추적 곳 테이블 또는 데이터 저장 되세요을 그 # 1에서 데이터 저장소를 검사하여 매 시간마다 실행해야하는지 확인한 다음 대기열에 메시지를 던지고 반환합니다.
- 타이머 트리거가 메시지를 던진 큐를 수신하는 다른 기능이 있습니다. QueueTrigger를 사용하여 현재 처리중인 작업을 수행하십시오.
사용자가 자신의 일정을 잡고 해당 일정에 의해 트리거되는 코드를 허용해야합니다.
업데이트 : 여기 는 타이머 및 대기열을 사용하여 생산자/소비자 모델의 간단한 예 트리거된다
이
using Microsoft.Azure.WebJobs;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ProducerConsumer
{
class Program
{
static void Main(string[] args)
{
var config = new JobHostConfiguration();
config.UseDevelopmentSettings();
config.UseTimers();
var host = new JobHost(config);
host.RunAndBlock();
}
}
public static class Functions
{
public static int counter = 0;
// Create a new message on the "orders" queue every 10 seconds
public static void Producer(
[TimerTrigger("00:00:10", RunOnStartup=true)] TimerInfo timer,
[Queue("orders")] out string messageCount,
TextWriter log)
{
messageCount = "message" + counter++;
log.WriteLine("messsage: " + messageCount);
}
// Watch the "orders" queue for messages, and when one is found save it to blob storage
public static void Consumer(
[QueueTrigger("orders")] string message,
[Blob("orders/order.txt")] out string order,
TextWriter log)
{
order = message;
log.WriteLine("Received " + message);
}
}
}
가 좀 더 세부 시나리오를 설명 할 수 있습니까? –
예 우리가하려고하는 것에 대한 더 많은 정보가 필요합니다. 몇 가지 접근법이 있습니다. – Thomas