示例#1
0
        static int Main(string[] args)
        {
            if (args.Count() > 0)
            {
                string gitHubUserName = args[0];

                try
                {
                    GitHubUserData userData = RetrieveUserDataAsync(gitHubUserName).Result;
                    HaloDBHelpers.UpdateUserAsync(userData, DBClientSingleton.Instance.Get()).Wait();

                    return(0);
                }
                catch (Exception e)
                {
                    Console.WriteLine("Exception caught: " + e.ToString());
                    return(-1);
                }
            }
            else
            {
                JobHostConfiguration config = new JobHostConfiguration();
                config.StorageConnectionString   = ConfigurationManager.AppSettings["WebJobStorage"];
                config.DashboardConnectionString = null;
                config.Queues.BatchSize          = 1;
                config.UseCore();
                JobHost host = new JobHost(config);
                host.RunAndBlock();

                return(0);
            }
        }
示例#2
0
        public static async Task ProcessQueueMessage(
            [QueueTrigger("giteventprocessorqueue")] string jsonMessagePayloadString,
            [Blob("containername/blobname")] TextWriter writer)
        {
            JsonMessagePayload messagePayload = JsonConvert.DeserializeObject <JsonMessagePayload>(jsonMessagePayloadString);

            if (messagePayload == null ||
                string.IsNullOrWhiteSpace(messagePayload.gitHubUserName))
            {
                return;
            }

            Console.WriteLine("ProcessQueueMessage - Retrieving data for gitHubUserName: " + messagePayload.gitHubUserName);

            GitHubUserData userData = await RetrieveUserDataAsync(messagePayload.gitHubUserName);

            await HaloDBHelpers.UpdateUserAsync(userData, DBClientSingleton.Instance.Get());

            return;
        }