예제 #1
0
        public override bool Execute(RockContext rockContext, WorkflowAction action, Object entity, out List <string> errorMessages)
        {
            errorMessages = new List <string>();

            var JobGuid = GetAttributeValue(action, "Job").AsGuid();

            if (!JobGuid.IsEmpty())
            {
                ServiceJob Job = new ServiceJobService(rockContext).Get(JobGuid);
                if (Job != null)
                {
                    var transaction = new Rock.Transactions.RunJobNowTransaction(Job.Id);

                    // Process the transaction on another thread
                    System.Threading.Tasks.Task.Run(() => transaction.Execute());

                    action.AddLogEntry(string.Format("The '{0}' job has been started.", Job.Name));

                    return(true);
                }
            }

            errorMessages.Add("The specified Job could not be found");

            return(false);
        }
예제 #2
0
        /// <summary>
        /// Handles the SaveClick event of the mdRunNcoa control. This is the Start NCOA dialog. Save = Start
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        protected void mdRunNcoa_SaveClick(object sender, EventArgs e)
        {
            Ncoa ncoa            = new Ncoa();
            var  sparkDataConfig = Ncoa.GetSettings();

            sparkDataConfig.NcoaSettings.PersonFullName      = CurrentPerson != null ? CurrentPerson.FullName : null;
            sparkDataConfig.NcoaSettings.CurrentReportStatus = "Start";
            Ncoa.SaveSettings(sparkDataConfig);
            using (RockContext rockContext = new RockContext())
            {
                ServiceJob job = new ServiceJobService(rockContext).Get(Rock.SystemGuid.ServiceJob.GET_NCOA.AsGuid());
                if (job != null)
                {
                    var transaction = new Rock.Transactions.RunJobNowTransaction(job.Id);

                    // Process the transaction on another thread
                    System.Threading.Tasks.Task.Run(() => transaction.Execute());

                    mdGridWarning.Show(string.Format("The '{0}' job has been started.", job.Name), ModalAlertType.Information);
                    lbStartNcoa.Enabled = false;
                }
            }

            mdRunNcoa.Hide();
        }
예제 #3
0
파일: RunJob.cs 프로젝트: NewSpring/Rock
        public override bool Execute( RockContext rockContext, WorkflowAction action, Object entity, out List<string> errorMessages )
        {
            errorMessages = new List<string>();

            var JobGuid = GetAttributeValue( action, "Job" ).AsGuid();

            if ( !JobGuid.IsEmpty() )
            {
                ServiceJob Job = new ServiceJobService( rockContext ).Get( JobGuid );
                if ( Job != null )
                {
                    var transaction = new Rock.Transactions.RunJobNowTransaction( Job.Id );

                    // Process the transaction on another thread
                    System.Threading.Tasks.Task.Run( () => transaction.Execute() );

                    action.AddLogEntry( string.Format( "The '{0}' job has been started.", Job.Name ) );

                    return true;
                }

            }

            errorMessages.Add("The specified Job could not be found");

            return false;
        }
예제 #4
0
        /// <summary>
        /// Rebuild the streak type and enrollment data
        /// </summary>
        private void RebuildData()
        {
            var rockContext = GetRockContext();
            var streakType  = GetStreakType();

            if (!streakType.IsAuthorized(Authorization.ADMINISTRATE, CurrentPerson))
            {
                mdDeleteWarning.Show("You are not authorized to rebuild this item.", ModalAlertType.Information);
                return;
            }

            var job = new ServiceJobService(rockContext).Get(Rock.SystemGuid.ServiceJob.REBUILD_STREAK.AsGuid());

            if (job == null)
            {
                ShowBlockError(nbEditModeMessage, "The streak type rebuild job could not be found.");
            }

            var jobData = new Dictionary <string, string> {
                { Rock.Jobs.RebuildStreakMaps.DataMapKey.StreakTypeId, streakType.Id.ToString() }
            };

            var transaction = new Rock.Transactions.RunJobNowTransaction(job.Id, jobData);

            System.Threading.Tasks.Task.Run(() => transaction.Execute());
            ShowBlockSuccess(nbEditModeMessage, "The streak type rebuild has been started. Check the Rock Jobs page for the status.");
        }
예제 #5
0
        /// <summary>
        /// Handles the RunNow event of the gScheduledJobs control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RowEventArgs"/> instance containing the event data.</param>
        protected void gScheduledJobs_RunNow(object sender, RowEventArgs e)
        {
            var job = new ServiceJobService(new RockContext()).Get(e.RowKeyId);

            if (job != null)
            {
                var transaction = new Rock.Transactions.RunJobNowTransaction(job.Id);
                Rock.Transactions.RockQueue.TransactionQueue.Enqueue(transaction);

                mdGridWarning.Show(string.Format("The '{0}' job has been triggered to run and will start within the next two minutes ( during the next transaction cycle ).", job.Name), ModalAlertType.Information);
            }

            BindGrid();
        }
예제 #6
0
        /// <summary>
        /// Handles the RunNow event of the gScheduledJobs control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RowEventArgs"/> instance containing the event data.</param>
        protected void gScheduledJobs_RunNow(object sender, RowEventArgs e)
        {
            var job = new ServiceJobService(new RockContext()).Get(e.RowKeyId);

            if (job != null)
            {
                var transaction = new Rock.Transactions.RunJobNowTransaction(job.Id);

                // Process the transaction on another thread
                System.Threading.Tasks.Task.Run(() => transaction.Execute());

                mdGridWarning.Show(string.Format("The '{0}' job has been started.", job.Name), ModalAlertType.Information);

                // wait a split second for the job to start so that the grid will show the status (if it changed)
                System.Threading.Thread.Sleep(250);
            }

            BindGrid();
        }
        /// <summary>
        /// Handles the RunNow event of the gScheduledJobs control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RowEventArgs"/> instance containing the event data.</param>
        protected void gScheduledJobs_RunNow( object sender, RowEventArgs e )
        {
            var job = new ServiceJobService( new RockContext() ).Get( e.RowKeyId );
            if ( job != null )
            {
                var transaction = new Rock.Transactions.RunJobNowTransaction( job.Id );
                Rock.Transactions.RockQueue.TransactionQueue.Enqueue( transaction );

                mdGridWarning.Show( string.Format( "The '{0}' job has been triggered to run and will start within the next two minutes ( during the next transaction cycle ).", job.Name ), ModalAlertType.Information );
            }

            BindGrid();
        }
예제 #8
0
        /// <summary>
        /// Handles the RunNow event of the gScheduledJobs control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="RowEventArgs"/> instance containing the event data.</param>
        protected void gScheduledJobs_RunNow( object sender, RowEventArgs e )
        {
            var job = new ServiceJobService( new RockContext() ).Get( e.RowKeyId );
            if ( job != null )
            {
                var transaction = new Rock.Transactions.RunJobNowTransaction( job.Id );

                // Process the transaction on another thread
                System.Threading.Tasks.Task.Run( () => transaction.Execute() );

                mdGridWarning.Show( string.Format( "The '{0}' job has been started.", job.Name ), ModalAlertType.Information );

                // wait a split second for the job to start so that the grid will show the status (if it changed)
                System.Threading.Thread.Sleep( 250 );
            }

            BindGrid();
        }