Exemplo n.º 1
0
        public static void PublishResourceSetup(Agent agent, long duration, M_ResourceCapabilityProvider capabilityProvider)
        {
            var pubSetup = new FCreateSimulationResourceSetup(expectedDuration: duration
                                                              , duration: duration
                                                              , start: agent.CurrentTime
                                                              , capabilityProvider: capabilityProvider.Name
                                                              , capabilityName: capabilityProvider.Name
                                                              , setupId: capabilityProvider.Id);

            agent.Context.System.EventStream.Publish(@event: pubSetup);
        }
Exemplo n.º 2
0
        /// <summary>
        /// collect the resourceSetups of resource, cant be updated afterward
        /// </summary>
        /// <param name="simulationResourceSetup"></param>
        private void CreateSetup(FCreateSimulationResourceSetup simulationResourceSetup)
        {
            var _SimulationResourceSetup = new DB.ReportingModel.Setup
            {
                SimulationConfigurationId = Collector.simulationId.Value,
                SimulationNumber          = Collector.simulationNumber.Value,
                SimulationType            = Collector.simulationKind.Value,
                Time = (int)(Collector.Time),
                CapabilityProvider = simulationResourceSetup.CapabilityProvider,
                CapabilityName     = simulationResourceSetup.CapabilityName,
                Start            = (int)simulationResourceSetup.Start,
                End              = simulationResourceSetup.Start + simulationResourceSetup.Duration,
                ExpectedDuration = simulationResourceSetup.ExpectedDuration,
                SetupId          = simulationResourceSetup.SetupId
            };

            simulationResourceSetups.Add(item: _SimulationResourceSetup);
        }
        private void DoSetup()
        {
            //Start setup if necessary
            var setupDuration = GetSetupTime(_jobInProgress.Current);

            if (setupDuration > 0)
            {
                Agent.DebugMessage(
                    msg:
                    $"Start with Setup for Job {_jobInProgress.Current.Name}  Key: {_jobInProgress.Current.Key} Duration is {setupDuration} and start with Job at {Agent.CurrentTime + setupDuration}");
                _toolManager.Mount(requiredResourceTool: _jobInProgress.Current.Tool);
                var pubSetup = new FCreateSimulationResourceSetup(workScheduleId: _jobInProgress.Current.Key.ToString(),
                                                                  duration: setupDuration, start: Agent.CurrentTime, machine: Agent.Name);
                Agent.Context.System.EventStream.Publish(@event: pubSetup);
            }

            Agent.Send(instruction: Resource.Instruction.DoWork.Create(message: null, target: Agent.Context.Self),
                       waitFor: setupDuration);
        }
 private void CreateSimulationResourceSetup(FCreateSimulationResourceSetup m)
 {
     Debug.WriteLine(message: $"({Collector.Time}) CreateSimulationResourceSetup not implemented yet");
 }