Próbuję znaleźć, co robię źle w odniesieniu do metody kolejki sieci WebJobs Azure WebJobs, które powinny być uruchamiane z kolejki pamięci Azure.Wywołanie kolejki Azure WebJobs nie wyzwala
Przeczytałem kilka dokumentów (jak na blogach/artykułach msdn). Ale nadal nie jestem jasny.
Główne pytanie/niezrozumiany aspekt:
Jaka powinna być nazwa ciąg połączenia do przechowywania aplikacji konsoli Azure app.config lub Konfiguracja Azure Windows (portal). Do tej pory w obu miejscach mam ustawioną nazwę.
- AzureJobsStorage
- AzureWebJobsStorage
- AzureJobsRuntime
- AzureJobsDashboard
- AzureJobsData
Oto mój kod WebJobs aplikacja konsoli.
static void Main()
{
JobHost host = new JobHost();
host.RunAndBlock();
}
public static void CreateLeague([QueueTrigger("temp")] string msg)
{
var task = JsonConvert.DeserializeObject<QueueTask>(msg);
if (task.TaskType == QueueTask.TaskTypes.Pdf)
RenderPdf(task.Id);
}
Ta aplikacja konsolowa jest ciągle uruchomiona na mojej witrynie Azure.
Mogę uzyskać dostęp do strony "debugowanie", gdzie mogę przełączać dane wyjściowe i widzę, że jest uruchomione/uruchomione.
Mój kod, aby dodać kolejkę (z mojej aplikacji ASP.NET MVC):
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(ConfigurationManager.AppSettings["StorageConnectionString"]);
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
CloudQueue queue = queueClient.GetQueueReference("temp");
queue.CreateIfNotExists();
Common.QueueTask task = new Common.QueueTask();
task.TaskType = Common.QueueTask.TaskTypes.Pdf;
task.Id = p.Id;
CloudQueueMessage msg = new CloudQueueMessage(JsonConvert.SerializeObject(task) );
queue.AddMessage(msg);
Ten kod jest wykonywany, a kolejki są dodawane do mojego konta Storage. Ale nie dostali "odstrzelenia" ani nie przeczytali w WebJobs.
Cieszę się, że wysłałeś tę odpowiedź. Nie mogę uwierzyć, że szablony kodu w studio domyślnie klasy są prywatne. – JasonCoder