Пример #1
0
        /// <summary>
        /// Main function - checks for jobs in a try-catch
        /// </summary>
        public void CheckForJobs()
        {
            try
            {
                JobTracker.UpdateActivityTimestamp();

                Job[] jobs = GetListOfJobs();
                if (jobs != null && jobs.Length > 0)
                {
                    Log.Trace(jobs.Length.ToString() + " jobs found!");
                    foreach (Job job in jobs)
                    {
                        bool trackerHasSeenJob = JobTracker.HasSeenJob(job);
                        bool jobPassesFilters = JobPassesFilters(job);

                        if (!trackerHasSeenJob || (jobPassesFilters && JobTracker.JobNeedsAcceptRetry(job)))
                        {
                            NotificationMailer mailer = new NotificationMailer(SmtpConfig.Gmail);

                            // save job and send intial notification email
                            if (!trackerHasSeenJob)
                            {
                                JobTracker.SaveJob(job);
                                mailer.SendNotification("*****@*****.**", "PR SYSTEM - Job Found!", job.ToString());
                            }

                            // accept or reject job based on filters
                            if (jobPassesFilters)
                            {
                                if (JobTracker.AutoAcceptEnabled)
                                {
                                    Result acceptResult = AcceptJob(job);
                                    JobTracker.SaveJobRequest(job, JobRequestType.Accept, acceptResult);
                                    mailer.SendNotification("*****@*****.**", "PR SYSTEM - Job Accept Attempt", acceptResult.ResponseXml);
                                }
                            }
                            else
                            {
                                if (JobTracker.AutoRejectEnabled)
                                {
                                    Result rejectResult = RejectJob(job);
                                    JobTracker.SaveJobRequest(job, JobRequestType.Reject, rejectResult);
                                    mailer.SendNotification("*****@*****.**", "PR SYSTEM - Job Reject Attempt", rejectResult.ResponseXml);
                                }
                            }
                        }
                    }
                }
                else
                {
                    Log.Trace("No jobs found.");
                }
            }
            catch (Exception ex)
            {
                Log.ErrorException("While checking for jobs, an error has occurred!", ex);
                try
                {
                    NotificationMailer mailer = new NotificationMailer(SmtpConfig.Gmail);
                    mailer.SendNotification("*****@*****.**", "PR SYSTEM - ERROR", "Error Text: " + ex.ToString());
                }
                catch (Exception exMail)
                {
                    Log.ErrorException("Unable to send error notification mail!", exMail);
                }
            }
        }
Пример #2
0
 static void Email()
 {
     NotificationMailer mailer = new NotificationMailer(JobulatorLib.Config.SmtpConfig.Gmail);
     mailer.SendNotification("*****@*****.**", "PR SYSTEM NOTIFICATION", "Testing!");
 }