public override void Run() { // This is a sample worker implementation. Replace with your logic. Trace.TraceInformation("MSGorilla.Spider entry point called"); CloudQueue _queue = AzureFactory.GetQueue(AzureFactory.MSGorillaQueue.SearchEngineSpider); SearchManager _manager = new SearchManager(); while (true) { try { CloudQueueMessage message = null; while ((message = _queue.GetMessage()) == null) { Thread.Sleep(10000); } _queue.UpdateMessage(message, TimeSpan.FromSeconds(60.0), // Make it visible immediately. MessageUpdateFields.Visibility); Message msg = JsonConvert.DeserializeObject <Message>(message.AsString); //string content = (string)mess.Content; //Message tweet = JsonConvert.DeserializeObject<Message>(content); _manager.SpideMessage(msg); _queue.DeleteMessage(message); } catch (Exception e) { Trace.TraceError("Exception in worker role", e.StackTrace); } } }
static void Main(string[] args) { CloudQueue _queue = AzureFactory.GetQueue(AzureFactory.MSGorillaQueue.SearchEngineSpider); SearchManager _manager = new SearchManager(); var result = _manager.SearchMessage("woss user1"); while (true) { try { CloudQueueMessage message = null; while ((message = _queue.GetMessage()) == null) { Thread.Sleep(10000); } _queue.UpdateMessage(message, TimeSpan.FromSeconds(60.0), // Make it visible immediately. MessageUpdateFields.Visibility); Message msg = JsonConvert.DeserializeObject <Message>(message.AsString); _manager.SpideMessage(msg); //_queue.DeleteMessage(message); } catch (Exception e) { Console.WriteLine("Exception in worker role", e.StackTrace); } } }
public void OnExecute(string path) { var config = ConductorConfiguration.Load(path); Console.WriteLine($"Deleting {config.ResourceGroupName}..."); AzureFactory.GetAzure().ResourceGroups.DeleteByName(config.ResourceGroupName); }
public ReplyManager() { _reply = AzureFactory.GetTable(AzureFactory.MSGorillaTable.Reply); _replyNotification = AzureFactory.GetTable(AzureFactory.MSGorillaTable.ReplyNotification); _replyArchive = AzureFactory.GetTable(AzureFactory.MSGorillaTable.ReplyArchive); _userline = AzureFactory.GetTable(AzureFactory.MSGorillaTable.Userline); _accManager = new AccountManager(); _notifManager = new NotifManager(); _richMsgManager = new RichMsgManager(); }
public async Task Provision(ProvisionRequest request) { await Task.Yield(); var subscriptionId = request.SubscriptionId; var accountId = request.AccountId; var authToken = request.AuthorizationToken; bool failure = false; request.Course.State = CourseState.Provisioning; context.UpdateCourse(request.Course); try { Regex alphaNumericWithPeriod = new Regex(@"[^a-z0-9\.-]", RegexOptions.IgnoreCase); //var groupName = String.Join(".", request.Course.Name, student.LastName, student.FirstName, student.MicrosoftId.Split('@').First()); var groupName = String.Join(".", request.Course.Name, request.Course.Id.ToString()); groupName = alphaNumericWithPeriod.Replace(groupName, String.Empty); var factory = new AzureFactory(subscriptionId, accountId.ToString(), authToken); var group = factory.Create<CreateResourceGroupFactory>().CreateGroup(groupName); var plan = factory.Create<CreateWebHostingPlanFactory>().CreateWebPlan(group, "Student-Web-Site"); factory.Create<AssignUserToRoleFactory>().CreateAndAssignRoleForGroup(group, request.PrincipalOwnerId, "WebSite Contributor"); foreach (var student in context.GetStudentsInCourse(request.Course)) { var webFactory = factory.Create<CreateWebSiteFactory>(); var site = webFactory.CreateWebSite(plan, group); var publishProfile = webFactory.GetPublishingProfile(site, group); context.AddWebSite(request.Course, student, new Models.WebSite() { WebSiteUri = new Uri("http://" + site.Properties.HostNames.First()), FtpUri = new Uri(publishProfile.PublishUrl), FtpUsername = publishProfile.UserName, FtpPassword = publishProfile.UserPassword }); } } catch { failure = true; request.Course.State = CourseState.Failed; throw; } finally { if (!failure) { request.Course.State = CourseState.Complete; } context.UpdateCourse(request.Course); } }
public int GetUserPostMessageCountByDateUtc(string userid, DateTime date) { CloudTable userline = AzureFactory.GetTable(AzureFactory.MSGorillaTable.Userline).AzureTable; string query = TableQuery.GenerateFilterCondition( "PartitionKey", QueryComparisons.Equal, string.Format("{0}_{1}", userid, Utils.ToAzureStorageDayBasedString(date))); TableQuery tableQuery = new TableQuery().Where(query); int count = userline.ExecuteQuery(tableQuery).Count(); Logger.Debug(string.Format("{0} post {1} messages in {2:yyyy-MM-dd}", userid, count, date.ToUniversalTime().Date)); return(count); }
public StatisticsManager() { _homeline = AzureFactory.GetTable(AzureFactory.MSGorillaTable.Homeline); _userline = AzureFactory.GetTable(AzureFactory.MSGorillaTable.Userline); _eventline = AzureFactory.GetTable(AzureFactory.MSGorillaTable.EventLine); _publicSquareLine = AzureFactory.GetTable(AzureFactory.MSGorillaTable.PublicSquareLine); _topicline = AzureFactory.GetTable(AzureFactory.MSGorillaTable.TopicLine); _ownerline = AzureFactory.GetTable(AzureFactory.MSGorillaTable.OwnerLine); _atline = AzureFactory.GetTable(Azure.AzureFactory.MSGorillaTable.AtLine); _reply = AzureFactory.GetTable(AzureFactory.MSGorillaTable.Reply); _accManager = new AccountManager(); _attManager = new AttachmentManager(); _schemaManager = new SchemaManager(); _notifManager = new NotifManager(); _topicManager = new TopicManager(); _richMsgManager = new RichMsgManager(); }
public override void Run() { Trace.TraceInformation("MSGorilla.MailDispatcher entry point called"); _mailboxCache = new MemoryCache("mailbox"); _mailStoreCache = new MemoryCache("mailstore"); _groupID2Name = new Dictionary <string, string>(); _topicManager = new TopicManager(); _groupManager = new GroupManager(); _accountManager = new AccountManager(); _richMsgManager = new RichMsgManager(); CloudQueue _queue = AzureFactory.GetQueue(AzureFactory.MSGorillaQueue.MailMessage);; while (true) { try { CloudQueueMessage message = _queue.GetMessage(); while (message == null) { Thread.Sleep(1000); message = _queue.GetMessage(); } _queue.UpdateMessage(message, TimeSpan.FromSeconds(60.0 * 1), // Make it in five minutes MessageUpdateFields.Visibility); Message msg = JsonConvert.DeserializeObject <Message>(message.AsString); DispatchMail(msg); _queue.DeleteMessage(message); } catch (Exception e) { Trace.TraceError("Exception in worker role", e.StackTrace); } } }
public int GetTotalRobotMessageCountByDateUtc(DateTime date) { int count = 0; List <string> robitID = GetCurrentRobotID(); CloudTable userline = AzureFactory.GetTable(AzureFactory.MSGorillaTable.Userline).AzureTable; foreach (string userid in robitID) { try { count += GetUserPostMessageCountByDateUtc(userid, date); } catch (Exception e) { Logger.Error(e.ToString()); } } Logger.Info(string.Format("Robots posted {0} messages totally in {1:yyyy-MM-dd}", count, date.ToUniversalTime())); return(count); }
public MessageManager() { _homeline = AzureFactory.GetTable(AzureFactory.MSGorillaTable.Homeline); _userline = AzureFactory.GetTable(AzureFactory.MSGorillaTable.Userline); _eventline = AzureFactory.GetTable(AzureFactory.MSGorillaTable.EventLine); _publicSquareLine = AzureFactory.GetTable(AzureFactory.MSGorillaTable.PublicSquareLine); _topicline = AzureFactory.GetTable(AzureFactory.MSGorillaTable.TopicLine); _ownerline = AzureFactory.GetTable(AzureFactory.MSGorillaTable.OwnerLine); _atline = AzureFactory.GetTable(Azure.AzureFactory.MSGorillaTable.AtLine); _reply = AzureFactory.GetTable(AzureFactory.MSGorillaTable.Reply); _queue = AzureFactory.GetQueue(AzureFactory.MSGorillaQueue.Dispatcher); _spiderqueue = AzureFactory.GetQueue(AzureFactory.MSGorillaQueue.SearchEngineSpider); _mailMessageQueue = AzureFactory.GetQueue(AzureFactory.MSGorillaQueue.MailMessage); _accManager = new AccountManager(); _attManager = new AttachmentManager(); _schemaManager = new SchemaManager(); _notifManager = new NotifManager(); _topicManager = new TopicManager(); _richMsgManager = new RichMsgManager(); _groupManager = new GroupManager(); }
public AttachmentManager() { _attachment = AzureFactory.GetTable(AzureFactory.MSGorillaTable.Attachment); _blobcontainer = AzureFactory.GetBlobContainer(AzureFactory.MSGorillaBlobContainer.Attachment); BlobContainerPermissions blobPermissions = new BlobContainerPermissions(); blobPermissions.SharedAccessPolicies.Add(_policyName, new SharedAccessBlobPolicy() { // To ensure SAS is valid immediately, don’t set start time. // This way, you can avoid failures caused by small clock differences. SharedAccessExpiryTime = DateTime.UtcNow.AddHours(1), Permissions = SharedAccessBlobPermissions.Read }); // The public access setting explicitly specifies that // the container is private, so that it can't be accessed anonymously. blobPermissions.PublicAccess = BlobContainerPublicAccessType.Off; // Set the permission policy on the container. _blobcontainer.SetPermissions(blobPermissions); // Get the shared access signature to share with users. }
public MetricManager() { _metricData = AzureFactory.GetTable(AzureFactory.MSGorillaTable.MetricDataSet); }
public CounterManager() { _counterSet = AzureFactory.GetTable(AzureFactory.MSGorillaTable.CounterSet); _counterRecord = AzureFactory.GetTable(AzureFactory.MSGorillaTable.CounterRecord); }
public SearchManager() { _wordsIndexTable = AzureFactory.GetTable(AzureFactory.MSGorillaTable.WordsIndex); _searchResultsTable = AzureFactory.GetTable(AzureFactory.MSGorillaTable.SearchResults); _searchHistoryTable = AzureFactory.GetTable(AzureFactory.MSGorillaTable.SearchHistory); }
public RichMsgManager() { _richMsg = AzureFactory.GetTable(AzureFactory.MSGorillaTable.RichMessage); }