本文整理汇总了C#中JobHostConfiguration类的典型用法代码示例。如果您正苦于以下问题:C# JobHostConfiguration类的具体用法?C# JobHostConfiguration怎么用?C# JobHostConfiguration使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
JobHostConfiguration类属于命名空间,在下文中一共展示了JobHostConfiguration类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: InvokeQueueFunctionAndWaitForResult
private void InvokeQueueFunctionAndWaitForResult(MethodInfo function, CloudQueueMessage message = null)
{
if (message == null)
{
message = new CloudQueueMessage(POCO.JsonSample);
}
string queueName = CreateQueueName(function, input: true);
CloudQueueClient queueClient = StorageAccount.CloudStorageAccount.CreateCloudQueueClient();
CloudQueue queue = queueClient.GetQueueReference(queueName);
queue.CreateIfNotExists();
queue.AddMessage(message);
JobHostConfiguration hostConfiguration = new JobHostConfiguration(StorageAccount.ConnectionString)
{
TypeLocator = new ExplicitTypeLocator(
typeof(QueueArgumentsDisplayFunctions),
typeof(DoneNotificationFunction))
};
using (JobHost host = new JobHost(hostConfiguration))
using (DoneNotificationFunction._doneEvent = new ManualResetEvent(initialState: false))
{
host.Start();
DoneNotificationFunction._doneEvent.WaitOne();
host.Stop();
}
}
示例2: Run
public static void Run(string connectionString)
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString);
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
CreateTestQueues(queueClient);
try
{
CloudQueue firstQueue = queueClient.GetQueueReference(_nameResolver.ResolveInString(FunctionChainingPerfTest.FirstQueueName));
firstQueue.AddMessage(new CloudQueueMessage("Test"));
_startBlock = MeasurementBlock.BeginNew(0, HostStartMetric);
JobHostConfiguration hostConfig = new JobHostConfiguration(connectionString);
hostConfig.NameResolver = _nameResolver;
hostConfig.TypeLocator = new FakeTypeLocator(typeof(FunctionChainingPerfTest));
JobHost host = new JobHost(hostConfig);
_tokenSource = new CancellationTokenSource();
Task stopTask = null;
_tokenSource.Token.Register(() => stopTask = host.StopAsync());
host.RunAndBlock();
stopTask.GetAwaiter().GetResult();
}
finally
{
DeleteTestQueues(queueClient);
}
}
示例3: Main
public static void Main(string[] args)
{
// Set up default WebHook logger
ILogger logger = new TraceLogger();
// Set the WebHook Store we want to get WebHook subscriptions from. Azure store requires
// a valid Azure Storage connection string named MS_AzureStoreConnectionString.
IWebHookStore store = AzureWebHookStore.CreateStore(logger);
// Set the sender we want to actually send out the WebHooks. We could also
// enqueue messages for scale out.
IWebHookSender sender = new DataflowWebHookSender(logger);
// Set up WebHook manager which we use for creating notifications.
Manager = new WebHookManager(store, sender, logger);
// Initialize WebJob
var listener = ConfigurationManager.ConnectionStrings["WebHookListener"].ConnectionString;
JobHostConfiguration config = new JobHostConfiguration
{
StorageConnectionString = listener
};
JobHost host = new JobHost(config);
host.RunAndBlock();
}
示例4: JobHost
static void JobHost()
{
var config = new JobHostConfiguration();
var host = new JobHost(config);
host.RunAndBlock();
host.Start();
}
示例5: Main
// Please set the following connection strings in app.config for this WebJob to run:
// AzureWebJobsDashboard and AzureWebJobsStorage
public static void Main()
{
try
{
#if !DEBUG
LogManager.Logger = new OneTimeLogger(new ProfileRepository());
#endif
LogManager.Log("Start !");
JobHostConfiguration config = new JobHostConfiguration();
config.Queues.BatchSize = 1;
var host = new JobHost(config);
Init();
Run();
#if DEBUG
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
#else
LogManager.Log("This is release !");
// The following code ensures that the WebJob will be running continuously
//host.RunAndBlock();
#endif
}
catch (Exception ex)
{
LogManager.Log(ex);
}
finally
{
LogManager.Log("End");
LogManager.FlushLogger();
}
}
示例6: ServiceBusArgumentsDisplayTestsFixture
public ServiceBusArgumentsDisplayTestsFixture()
: base(cleanStorageAccount: true)
{
_hostConfiguration = new JobHostConfiguration(StorageAccount.ConnectionString)
{
TypeLocator = new ExplicitTypeLocator(
typeof(ServiceBusArgumentsDisplayFunctions),
typeof(DoneNotificationFunction))
};
#if VNEXT_SDK
ServiceBusConfiguration serviceBusConfig = new ServiceBusConfiguration();
serviceBusConfig.ConnectionString = ServiceBusAccount;
_serviceBusConnectionString = serviceBusConfig.ConnectionString;
_hostConfiguration.UseServiceBus(serviceBusConfig);
#else
_serviceBusConnectionString = ServiceBusAccount;
_hostConfiguration.ServiceBusConnectionString = _serviceBusConnectionString;
#endif
_namespaceManager = NamespaceManager.CreateFromConnectionString(_serviceBusConnectionString);
// ensure we're starting in a clean state
CleanServiceBusQueues();
// now run the entire end to end scenario, causing all the job functions
// to be invoked
RunEndToEnd();
}
开发者ID:farukc,项目名称:azure-webjobs-sdk-dashboard-tests,代码行数:29,代码来源:ServiceBusArgumentsDisplayFixture.cs
示例7: Main
// Please set the following connection strings in app.config for this WebJob to run:
// AzureWebJobsDashboard and AzureWebJobsStorage
static void Main()
{
var config = new JobHostConfiguration();
config.UseTimers();
var host = new JobHost(config);
host.RunAndBlock();
}
示例8: Main
public int Main(string[] args)
{
var builder = new ConfigurationBuilder();
builder.Add(new JsonConfigurationProvider("config.json"));
var config = builder.Build();
var webjobsConnectionString = config["Data:AzureWebJobsStorage:ConnectionString"];
var dbConnectionString = config["Data:DefaultConnection:ConnectionString"];
if (string.IsNullOrWhiteSpace(webjobsConnectionString))
{
Console.WriteLine("The configuration value for Azure Web Jobs Connection String is missing.");
return 10;
}
if (string.IsNullOrWhiteSpace(dbConnectionString))
{
Console.WriteLine("The configuration value for Database Connection String is missing.");
return 10;
}
var jobHostConfig = new JobHostConfiguration(config["Data:AzureWebJobsStorage:ConnectionString"]);
var host = new JobHost(jobHostConfig);
var methodInfo = typeof(Functions).GetMethods().First();
host.Call(methodInfo);
return 0;
}
示例9: ApplyConfiguration_Singleton
public void ApplyConfiguration_Singleton()
{
JObject config = new JObject();
config["id"] = ID;
JObject singleton = new JObject();
config["singleton"] = singleton;
JobHostConfiguration jobHostConfig = new JobHostConfiguration();
ScriptHost.ApplyConfiguration(config, jobHostConfig);
Assert.Equal(ID, jobHostConfig.HostId);
Assert.Equal(15, jobHostConfig.Singleton.LockPeriod.TotalSeconds);
Assert.Equal(1, jobHostConfig.Singleton.ListenerLockPeriod.TotalMinutes);
Assert.Equal(1, jobHostConfig.Singleton.ListenerLockRecoveryPollingInterval.TotalMinutes);
Assert.Equal(1, jobHostConfig.Singleton.LockAcquisitionTimeout.TotalMinutes);
Assert.Equal(3, jobHostConfig.Singleton.LockAcquisitionPollingInterval.TotalSeconds);
singleton["lockPeriod"] = "00:00:17";
singleton["listenerLockPeriod"] = "00:00:22";
singleton["listenerLockRecoveryPollingInterval"] = "00:00:33";
singleton["lockAcquisitionTimeout"] = "00:05:00";
singleton["lockAcquisitionPollingInterval"] = "00:00:08";
ScriptHost.ApplyConfiguration(config, jobHostConfig);
Assert.Equal(17, jobHostConfig.Singleton.LockPeriod.TotalSeconds);
Assert.Equal(22, jobHostConfig.Singleton.ListenerLockPeriod.TotalSeconds);
Assert.Equal(33, jobHostConfig.Singleton.ListenerLockRecoveryPollingInterval.TotalSeconds);
Assert.Equal(5, jobHostConfig.Singleton.LockAcquisitionTimeout.TotalMinutes);
Assert.Equal(8, jobHostConfig.Singleton.LockAcquisitionPollingInterval.TotalSeconds);
}
示例10: ApplyConfiguration_Queues
public void ApplyConfiguration_Queues()
{
JObject config = new JObject();
config["id"] = ID;
JObject queuesConfig = new JObject();
config["queues"] = queuesConfig;
JobHostConfiguration jobHostConfig = new JobHostConfiguration();
ScriptHost.ApplyConfiguration(config, jobHostConfig);
Assert.Equal(ID, jobHostConfig.HostId);
Assert.Equal(60 * 1000, jobHostConfig.Queues.MaxPollingInterval.TotalMilliseconds);
Assert.Equal(16, jobHostConfig.Queues.BatchSize);
Assert.Equal(5, jobHostConfig.Queues.MaxDequeueCount);
Assert.Equal(8, jobHostConfig.Queues.NewBatchThreshold);
queuesConfig["maxPollingInterval"] = 5000;
queuesConfig["batchSize"] = 17;
queuesConfig["maxDequeueCount"] = 3;
queuesConfig["newBatchThreshold"] = 123;
ScriptHost.ApplyConfiguration(config, jobHostConfig);
Assert.Equal(5000, jobHostConfig.Queues.MaxPollingInterval.TotalMilliseconds);
Assert.Equal(17, jobHostConfig.Queues.BatchSize);
Assert.Equal(3, jobHostConfig.Queues.MaxDequeueCount);
Assert.Equal(123, jobHostConfig.Queues.NewBatchThreshold);
}
示例11: Main
static void Main(string[] args)
{
JobHostConfiguration config = new JobHostConfiguration();
//config.Tracing.Trace = new ConsoleTraceWriter(TraceLevel.Verbose);
config.UseRedis();
JobHost host = new JobHost(config);
host.Start();
// Give subscriber chance to startup
Task.Delay(5000).Wait();
host.Call(typeof(Functions).GetMethod("SendSimplePubSubMessage"));
host.Call(typeof(Functions).GetMethod("SendPubSubMessage"));
host.Call(typeof(Functions).GetMethod("SendPubSubMessageIdChannel"));
host.Call(typeof(Functions).GetMethod("AddSimpleCacheMessage"));
host.Call(typeof(Functions).GetMethod("AddCacheMessage"));
host.Call(typeof(Functions).GetMethod("AddCacheMessage"));
Console.CancelKeyPress += (sender, e) =>
{
host.Stop();
};
while (true)
{
Thread.Sleep(500);
}
}
示例12: Main
public int Main(string[] args)
{
var builder = new ConfigurationBuilder();
//builder.Add(new JsonConfigurationSource("config.json"));
builder.AddJsonFile("config.json");
var config = builder.Build();
var webjobsConnectionString = config["Data:AzureWebJobsStorage:ConnectionString"];
var dbConnectionString = config["Data:DefaultConnection:ConnectionString"];
if (string.IsNullOrWhiteSpace(webjobsConnectionString))
{
Console.WriteLine("The configuration value for Azure Web Jobs Connection String is missing.");
return 10;
}
if (string.IsNullOrWhiteSpace(dbConnectionString))
{
Console.WriteLine("The configuration value for Database Connection String is missing.");
return 10;
}
var jobHostConfig = new JobHostConfiguration(webjobsConnectionString);
var host = new JobHost(jobHostConfig);
host.RunAndBlock();
return 0;
}
示例13: UseServiceBus_NoServiceBusConfiguration_PerformsExpectedRegistration
public void UseServiceBus_NoServiceBusConfiguration_PerformsExpectedRegistration()
{
JobHostConfiguration config = new JobHostConfiguration();
string serviceBusConnection = "test service bus connection";
#pragma warning disable 0618
config.ServiceBusConnectionString = serviceBusConnection;
#pragma warning restore 0618
IExtensionRegistry extensions = config.GetService<IExtensionRegistry>();
IExtensionConfigProvider[] configProviders = extensions.GetExtensions<IExtensionConfigProvider>().ToArray();
Assert.Equal(0, configProviders.Length);
config.UseServiceBus();
// verify that the service bus config provider was registered
configProviders = extensions.GetExtensions<IExtensionConfigProvider>().ToArray();
Assert.Equal(1, configProviders.Length);
ServiceBusExtensionConfig serviceBusExtensionConfig = (ServiceBusExtensionConfig)configProviders.Single();
// verify that a default ServiceBusConfiguration was created, with the host (obsolete)
// service bus connection string propagated
#pragma warning disable 0618
Assert.Equal(serviceBusConnection, serviceBusExtensionConfig.Config.ConnectionString);
#pragma warning restore 0618
}
开发者ID:rafaelmtz,项目名称:azure-webjobs-sdk,代码行数:26,代码来源:ServiceBusJobHostConfigurationExtensionsTests.cs
示例14: Main
static void Main()
{
// setup unobserved exceptions
TaskScheduler.UnobservedTaskException += Program.handleUnObservedExceptions;
// Setup configuration sources.
Configuration = new Configuration()
.AddEnvironmentVariables("APPSETTING_");
var storageCstr = GetConnectionString();
JobHostConfiguration config = new JobHostConfiguration(storageCstr);
config.Queues.BatchSize = 1; //Number of messages parallel processed in parallel. Will need some concurrency check before increasing.
config.Queues.MaxDequeueCount = 4;
config.Queues.MaxPollingInterval = TimeSpan.FromSeconds(15);
JobHost host = new JobHost(config);
Console.WriteLine("Web Job starting..");
// TEST Lines
//ProvisioningLibrary.WebJobController w = new WebJobController(Configuration);
//w.SubmitActionInQueue("8fd8fbfc-8fb6-4e95-ae17-aa4779423cb8", ResourceAction.Start );
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
示例15: Main
static void Main()
{
JobHost host;
string connectionString;
// To run webjobs locally, can't use storage emulator
// for local execution, use connection string stored in environment vatiable
if ((connectionString = Environment.GetEnvironmentVariable("AzureStorageQueueTransport.ConnectionString")) != null)
{
var configuration = new JobHostConfiguration
{
DashboardConnectionString = connectionString,
StorageConnectionString = connectionString
};
host = new JobHost(configuration);
}
// for production, use DashboardConnectionString and StorageConnectionString defined at Azure website
else
{
host = new JobHost();
}
Console.WriteLine("Starting VideoStore.Operations host");
host.Call(typeof(Functions).GetMethod("Host"));
host.RunAndBlock();
}