/// <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!"); } }
public Form1() { InitializeComponent(); timer1.Interval = 10000; triggerArchiveMessage = new JobTrigger(new ArchiveMessageJob()); triggerArchiveMessage.JobExecuted += JobExecuted; triggerSendEmail = new JobTrigger(new SendEmailJob()); triggerSendEmail.JobExecuted += JobExecuted; }
/// <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 }
/// <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 }
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); }
/// <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 }
/// <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(); }
/// <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); } }
// [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); }