Exemple #1
0
        /// <summary>
        /// Запуск задачи.
        /// </summary>
        public static void StartTracking()
        {
            Log.Debug(TAG, "Starting Tracking");

            // This is the "Java" way to create a FirebaseJobDispatcher object
            IDriver driver = new GooglePlayDriver(Application.Context);

            dispatcher = new FirebaseJobDispatcher(driver);

            //RetryStrategy retry = dispatcher.NewRetryStrategy(RetryStrategy.RetryPolicyLinear, retryTime, deadline);
            JobTrigger myTrigger = Trigger.ExecutionWindow(10, 15);

            // FirebaseJobDispatcher dispatcher = context.CreateJobDispatcher();
            Job myJob = dispatcher.NewJobBuilder()
                        .SetService <WebService>("demo-job-tag")
                        .SetTrigger(myTrigger)
                        .AddConstraint(Constraint.OnAnyNetwork)
                        .Build();

            // This method will not throw an exception; an integer result value is returned
            int scheduleResult = dispatcher.Schedule(myJob);

            Log.Debug(TAG, "Scheduling LocationJobService...");

            if (scheduleResult != FirebaseJobDispatcher.ScheduleResultSuccess)
            {
                Log.Warn(TAG, "Job Scheduler failed to schedule job!");
            }
        }
Exemple #2
0
        public Form1()
        {
            InitializeComponent();
            timer1.Interval = 10000;

            triggerArchiveMessage              = new JobTrigger(new ArchiveMessageJob());
            triggerArchiveMessage.JobExecuted += JobExecuted;

            triggerSendEmail              = new JobTrigger(new SendEmailJob());
            triggerSendEmail.JobExecuted += JobExecuted;
        }
Exemple #3
0
 /// <summary>Snippet for UpdateJobTrigger</summary>
 public void UpdateJobTrigger_RequestObject()
 {
     // Snippet: UpdateJobTrigger(UpdateJobTriggerRequest,CallSettings)
     // Create client
     DlpServiceClient dlpServiceClient = DlpServiceClient.Create();
     // Initialize request argument(s)
     UpdateJobTriggerRequest request = new UpdateJobTriggerRequest
     {
         ProjectJobTriggerName = new ProjectJobTriggerName("[PROJECT]", "[JOB_TRIGGER]"),
     };
     // Make the request
     JobTrigger response = dlpServiceClient.UpdateJobTrigger(request);
     // End snippet
 }
Exemple #4
0
 /// <summary>Snippet for CreateJobTrigger</summary>
 public void CreateJobTrigger_RequestObject()
 {
     // Snippet: CreateJobTrigger(CreateJobTriggerRequest,CallSettings)
     // Create client
     DlpServiceClient dlpServiceClient = DlpServiceClient.Create();
     // Initialize request argument(s)
     CreateJobTriggerRequest request = new CreateJobTriggerRequest
     {
         ParentAsProjectName = new ProjectName("[PROJECT]"),
     };
     // Make the request
     JobTrigger response = dlpServiceClient.CreateJobTrigger(request);
     // End snippet
 }
Exemple #5
0
        private void startJob()
        {
            IDriver driver = new GooglePlayDriver(this);
            FirebaseJobDispatcher dispatcher = new FirebaseJobDispatcher(driver);

            JobTrigger myTrigger = Trigger.ExecutionWindow(30, 60);
            Job        myJob     = dispatcher.NewJobBuilder()
                                   .SetService <DemoJob>("demo-job-tag")
                                   .SetLifetime(Lifetime.Forever)
                                   .SetRecurring(true)
                                   .SetTrigger(myTrigger)
                                   .Build();

            dispatcher.MustSchedule(myJob);
        }
Exemple #6
0
        /// <summary>Snippet for CreateJobTriggerAsync</summary>
        public async Task CreateJobTriggerAsync_RequestObject()
        {
            // Snippet: CreateJobTriggerAsync(CreateJobTriggerRequest,CallSettings)
            // Additional: CreateJobTriggerAsync(CreateJobTriggerRequest,CancellationToken)
            // Create client
            DlpServiceClient dlpServiceClient = await DlpServiceClient.CreateAsync();

            // Initialize request argument(s)
            CreateJobTriggerRequest request = new CreateJobTriggerRequest
            {
                ParentAsProjectName = new ProjectName("[PROJECT]"),
            };
            // Make the request
            JobTrigger response = await dlpServiceClient.CreateJobTriggerAsync(request);

            // End snippet
        }
Exemple #7
0
        /// <summary>Snippet for GetJobTriggerAsync</summary>
        public async Task GetJobTriggerAsync_RequestObject()
        {
            // Snippet: GetJobTriggerAsync(GetJobTriggerRequest,CallSettings)
            // Additional: GetJobTriggerAsync(GetJobTriggerRequest,CancellationToken)
            // Create client
            DlpServiceClient dlpServiceClient = await DlpServiceClient.CreateAsync();

            // Initialize request argument(s)
            GetJobTriggerRequest request = new GetJobTriggerRequest
            {
                ProjectJobTriggerName = new ProjectJobTriggerName("[PROJECT]", "[JOB_TRIGGER]"),
            };
            // Make the request
            JobTrigger response = await dlpServiceClient.GetJobTriggerAsync(request);

            // End snippet
        }
        public async Task CreateJobTriggerAsync()
        {
            Mock <DlpService.DlpServiceClient> mockGrpcClient = new Mock <DlpService.DlpServiceClient>(MockBehavior.Strict);
            CreateJobTriggerRequest            request        = new CreateJobTriggerRequest
            {
                ParentAsProjectName = new ProjectName("[PROJECT]"),
            };
            JobTrigger expectedResponse = new JobTrigger
            {
                Name        = "name3373707",
                DisplayName = "displayName1615086568",
                Description = "description-1724546052",
            };

            mockGrpcClient.Setup(x => x.CreateJobTriggerAsync(request, It.IsAny <CallOptions>()))
            .Returns(new Grpc.Core.AsyncUnaryCall <JobTrigger>(Task.FromResult(expectedResponse), null, null, null, null));
            DlpServiceClient client   = new DlpServiceClientImpl(mockGrpcClient.Object, null);
            JobTrigger       response = await client.CreateJobTriggerAsync(request);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
        public void UpdateJobTrigger()
        {
            Mock <DlpService.DlpServiceClient> mockGrpcClient = new Mock <DlpService.DlpServiceClient>(MockBehavior.Strict);
            UpdateJobTriggerRequest            request        = new UpdateJobTriggerRequest
            {
                ProjectJobTriggerName = new ProjectJobTriggerName("[PROJECT]", "[JOB_TRIGGER]"),
            };
            JobTrigger expectedResponse = new JobTrigger
            {
                Name        = "name2-1052831874",
                DisplayName = "displayName1615086568",
                Description = "description-1724546052",
            };

            mockGrpcClient.Setup(x => x.UpdateJobTrigger(request, It.IsAny <CallOptions>()))
            .Returns(expectedResponse);
            DlpServiceClient client   = new DlpServiceClientImpl(mockGrpcClient.Object, null);
            JobTrigger       response = client.UpdateJobTrigger(request);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
Exemple #10
0
        /// <summary>
        ///     Schedules a job to run on the JobService subclass.
        /// </summary>
        /// <param name="context">The context that is request the job.</param>
        /// <typeparam name="T">A <code>JobService</code> subclass.</typeparam>
        internal void SubmitJob <T>(Context context) where T : JobService
        {
            if (!initialized)
            {
                throw new InvalidOperationException(
                          "Must initialize the parameters with JobFormScheduler.WithParametersFrom before trying to schedule the job!");
            }

            FirebaseJobDispatcher dispatcher = context.CreateJobDispatcher();

            RetryStrategy retryStrategy = BuildRetryStrategy(dispatcher);

            if (retryStrategy == null)
            {
                throw new InvalidCastException("Cannot create a RetryStrategy!");
            }

            JobTrigger trigger = Trigger.ExecutionWindow(winStartSeconds, winEndSeconds);


            var jobParameters = new Bundle();

            jobParameters.PutInt(FibonacciCalculatorJob.FibonacciPositionKey, 25);

            Job.Builder builder = dispatcher.NewJobBuilder()
                                  .SetService <T>(tag)
                                  .SetRecurring(recurring)
                                  .SetLifetime(lifeTime)
                                  .SetRetryStrategy(retryStrategy)
                                  .SetTrigger(trigger)
                                  .SetExtras(jobParameters)
                                  .SetReplaceCurrent(replaceCurrent);

            if (constrainDeviceCharging)
            {
                builder.SetConstraints(Constraint.DeviceCharging);
            }

            if (constrainOnAnyNetwork)
            {
                builder.SetConstraints(Constraint.OnAnyNetwork);
            }

            if (constrainOnUnmeteredNewtwork)
            {
                builder.SetConstraints(Constraint.OnUnmeteredNetwork);
            }

            int    scheduleResult = dispatcher.Schedule(builder.Build());
            string message        =
                $"Scheduled new job `{tag}` for the service `{typeof(T).Name}`. SCHEDULE_RESULT = {scheduleResult}.";

            if (scheduleResult == FirebaseJobDispatcher.ScheduleResultSuccess)
            {
                Log.Info(TAG, message);
            }
            else
            {
                Log.Error(TAG, message);
            }
        }
Exemple #11
0
        // [START dlp_create_trigger]
        public static object CreateJobTrigger(
            string projectId,
            string bucketName,
            string minLikelihood,
            int maxFindings,
            bool autoPopulateTimespan,
            int scanPeriod,
            IEnumerable <InfoType> infoTypes,
            string triggerId,
            string displayName,
            string description)
        {
            DlpServiceClient dlp = DlpServiceClient.Create();

            var jobConfig = new InspectJobConfig
            {
                InspectConfig = new InspectConfig
                {
                    MinLikelihood = (Likelihood)Enum.Parse(
                        typeof(Likelihood),
                        minLikelihood
                        ),
                    Limits = new FindingLimits
                    {
                        MaxFindingsPerRequest = maxFindings
                    },
                    InfoTypes = { infoTypes }
                },
                StorageConfig = new StorageConfig
                {
                    CloudStorageOptions = new CloudStorageOptions
                    {
                        FileSet = new FileSet
                        {
                            Url = $"gs://{bucketName}/*"
                        }
                    },
                    TimespanConfig = new TimespanConfig
                    {
                        EnableAutoPopulationOfTimespanConfig = autoPopulateTimespan
                    }
                }
            };

            var jobTrigger = new JobTrigger
            {
                Triggers =
                {
                    new Trigger
                    {
                        Schedule = new Schedule
                        {
                            RecurrencePeriodDuration = new Google.Protobuf.WellKnownTypes.Duration
                            {
                                Seconds = scanPeriod * 60 * 60 * 24
                            }
                        }
                    }
                },
                InspectJob  = jobConfig,
                Status      = Status.Healthy,
                DisplayName = displayName,
                Description = description
            };

            JobTrigger response = dlp.CreateJobTrigger(
                new CreateJobTriggerRequest
            {
                ParentAsProjectName = new ProjectName(projectId),
                JobTrigger          = jobTrigger,
                TriggerId           = triggerId
            });

            Console.WriteLine($"Successfully created trigger {response.Name}");
            return(0);
        }