public Task <JobHostContext> CreateAndLogHostStartedAsync(CancellationToken shutdownToken, CancellationToken cancellationToken) { return(JobHostContextFactory.CreateAndLogHostStartedAsync(StorageAccountProvider, FunctionIndexProvider, BindingProvider, HostIdProvider, HostInstanceLoggerProvider, FunctionInstanceLoggerProvider, FunctionOutputLoggerProvider, QueueConfiguration, BackgroundExceptionDispatcher, ConsoleProvider, shutdownToken, cancellationToken)); }
public Task <JobHostContext> CreateAndLogHostStartedAsync(CancellationToken shutdownToken, CancellationToken cancellationToken) { IBindingProvider bindingProvider = null; return(JobHostContextFactory.CreateAndLogHostStartedAsync(StorageAccountProvider, FunctionIndexProvider, bindingProvider, new FixedHostIdProvider(Guid.NewGuid().ToString("N")), new NullHostInstanceLoggerProvider(), new NullFunctionInstanceLoggerProvider(), new NullFunctionOutputLoggerProvider(), Queues, BackgroundExceptionDispatcher.Instance, new NullConsoleProvider(), shutdownToken, cancellationToken)); }
public Task <JobHostContext> CreateAndLogHostStartedAsync(JobHost host, CancellationToken shutdownToken, CancellationToken cancellationToken) { ITypeLocator typeLocator = new DefaultTypeLocator(new StringWriter(), new DefaultExtensionRegistry()); INameResolver nameResolver = new RandomNameResolver(); JobHostConfiguration config = new JobHostConfiguration { NameResolver = nameResolver, TypeLocator = typeLocator }; return(JobHostContextFactory.CreateAndLogHostStartedAsync( host, StorageAccountProvider, Queues, typeLocator, DefaultJobActivator.Instance, nameResolver, new NullConsoleProvider(), new JobHostConfiguration(), shutdownToken, cancellationToken, new WebJobsExceptionHandler(), functionIndexProvider: FunctionIndexProvider, singletonManager: SingletonManager, hostIdProvider: HostIdProvider)); }
public Task <JobHostContext> CreateAndLogHostStartedAsync(JobHost host, CancellationToken shutdownToken, CancellationToken cancellationToken) { INameResolver nameResolver = new RandomNameResolver(); JobHostConfiguration config = new JobHostConfiguration { NameResolver = nameResolver, TypeLocator = TypeLocator }; return(JobHostContextFactory.CreateAndLogHostStartedAsync( host, StorageAccountProvider, QueueConfiguration, TypeLocator, DefaultJobActivator.Instance, nameResolver, ConsoleProvider, new JobHostConfiguration(), shutdownToken, cancellationToken, BackgroundExceptionDispatcher, HostIdProvider, FunctionExecutor, FunctionIndexProvider, BindingProvider, HostInstanceLoggerProvider, FunctionInstanceLoggerProvider, FunctionOutputLoggerProvider)); }
public Task <JobHostContext> CreateAndLogHostStartedAsync(CancellationToken shutdownToken, CancellationToken cancellationToken) { ITypeLocator typeLocator = new DefaultTypeLocator(new StringWriter()); INameResolver nameResolver = new RandomNameResolver(); JobHostConfiguration config = new JobHostConfiguration { NameResolver = nameResolver, TypeLocator = typeLocator }; return(JobHostContextFactory.CreateAndLogHostStartedAsync( StorageAccountProvider, Queues, typeLocator, DefaultJobActivator.Instance, nameResolver, new NullConsoleProvider(), new JobHostConfiguration(), shutdownToken, cancellationToken, functionIndexProvider: FunctionIndexProvider)); }
public Task <JobHostContext> CreateAndLogHostStartedAsync(CancellationToken shutdownToken, CancellationToken cancellationToken) { ITypeLocator typeLocator = new DefaultTypeLocator(new StringWriter()); INameResolver nameResolver = new RandomNameResolver(); JobHostConfiguration config = new JobHostConfiguration { NameResolver = nameResolver, TypeLocator = typeLocator }; return(JobHostContextFactory.CreateAndLogHostStartedAsync( StorageAccountProvider, config.Queues, typeLocator, DefaultJobActivator.Instance, nameResolver, new NullConsoleProvider(), new JobHostConfiguration(), shutdownToken, cancellationToken, new FixedHostIdProvider(Guid.NewGuid().ToString("N")), null, new EmptyFunctionIndexProvider(), null, new NullHostInstanceLoggerProvider(), new NullFunctionInstanceLoggerProvider(), new NullFunctionOutputLoggerProvider())); }
public bool Setup( IFunctionIndex functions, IListenerFactory functionsListenerFactory, out IFunctionExecutor hostCallExecutor, out IListener listener, out HostOutputMessage hostOutputMessage, string hostId, CancellationToken shutdownToken) { string sharedQueueName = HostQueueNames.GetHostQueueName(hostId); var sharedQueue = sharedQueueName; IListenerFactory sharedQueueListenerFactory = new HostMessageListenerFactory(_storageServices, sharedQueue, _exceptionHandler, _loggerFactory, functions, _functionInstanceLogger, _functionExecutor); Guid hostInstanceId = Guid.NewGuid(); string instanceQueueName = HostQueueNames.GetHostQueueName(hostInstanceId.ToString("N")); var instanceQueue = instanceQueueName; IListenerFactory instanceQueueListenerFactory = new HostMessageListenerFactory(_storageServices, instanceQueue, _exceptionHandler, _loggerFactory, functions, _functionInstanceLogger, _functionExecutor); HeartbeatDescriptor heartbeatDescriptor = new HeartbeatDescriptor { SharedContainerName = HostContainerNames.Hosts, SharedDirectoryName = HostDirectoryNames.Heartbeats + "/" + hostId, InstanceBlobName = hostInstanceId.ToString("N"), ExpirationInSeconds = (int)HeartbeatIntervals.ExpirationInterval.TotalSeconds }; var dashboardAccount = _storageAccountOptions.GetDashboardStorageAccount(); var blob = dashboardAccount.CreateCloudBlobClient() .GetContainerReference(heartbeatDescriptor.SharedContainerName) .GetBlockBlobReference(heartbeatDescriptor.SharedDirectoryName + "/" + heartbeatDescriptor.InstanceBlobName); IRecurrentCommand heartbeatCommand = new UpdateHostHeartbeatCommand(new HeartbeatCommand(blob)); IEnumerable <MethodInfo> indexedMethods = functions.ReadAllMethods(); Assembly hostAssembly = JobHostContextFactory.GetHostAssembly(indexedMethods); string displayName = hostAssembly != null?AssemblyNameCache.GetName(hostAssembly).Name : "Unknown"; hostOutputMessage = new JobHostContextFactory.DataOnlyHostOutputMessage { HostInstanceId = hostInstanceId, HostDisplayName = displayName, SharedQueueName = sharedQueueName, InstanceQueueName = instanceQueueName, Heartbeat = heartbeatDescriptor, WebJobRunIdentifier = WebJobRunIdentifier.Current }; hostCallExecutor = JobHostContextFactory.CreateHostCallExecutor(instanceQueueListenerFactory, heartbeatCommand, _exceptionHandler, shutdownToken, _functionExecutor); IListenerFactory hostListenerFactory = new CompositeListenerFactory(functionsListenerFactory, sharedQueueListenerFactory, instanceQueueListenerFactory); listener = JobHostContextFactory.CreateHostListener(hostListenerFactory, _sharedQueueHandler, heartbeatCommand, _exceptionHandler, shutdownToken); return(true); }