Tag: 蔚webjobs

Azure WebJobs – 托管在哪里? 它们作为长期运行的过程是否安全?

从Azure Web站点上的 Azure WebSite Always On和“Always On”设置的含义我假设Azure WebJobs托管在IIS中并使用IIS资源(以及我们的网站资源)。 此外,在定价页面: http : //azure.microsoft.com/en-us/pricing/details/websites/有一个声明: 按需,按计划运行自定义可执行文件和/或脚本,或作为Web站点实例中的后台任务连续运行。 连续WebJobs执行需要Always On。 计划的WebJobs需要Azure Scheduler Free或Standard。 因此我认为这是真的。 实际上,Azure WebJobs托管在Azure网站的IIS中。 注意:WebJobs可以连续且长时间运行。 然而,令我担心的是,执行长时间运行的进程/后台进程通常被视为反模式: 我可以使用线程在IIS上执行长时间运行的作业吗? 关注IIS上长时间运行的进程 ASP.NET长时间运行的任务。 线程正在中止exception 那么Microsoft Azure提出了一些看似反模式的东西吗? 附加问题:那么将Quartz.NET作为连续任务运行并进行“免费”简单后台任务调度会是一个好主意吗?

如何在Asp WebAPI应用程序中实现一个非常长时间运行的后台任务

我正在编写一个WebAPI应用程序来执行许多长时间运行的后台处理任务。 我注意到,即使我在IIS中禁用了池回收,我的测试数据加载任务也被System.Threading.ThreadAbortException杀死了。 我知道,有一种方法可以在Web应用程序中运行一个长时间运行(几个小时)的后台任务,但是,我只是不知道这是怎么做到的 – 要么是一些特定的配置设置,一种编码技术,一个Wen.config参数等等……请问有人可以分享一些实用的方法吗?

在Service Fabric应用程序中运行时,WebJob SDK无法正常工作

我想在作为Service Fabric应用程序运行的无状态服务中使用WebJob SDK。 不幸的是我无法让它正常运行。 下面是重现问题的测试代码的一部分。 永远不会调用“ProcessMethod”。 触发函数“ProcessNotificationsInQueue”也从不执行(是的,队列中有项目)。 虽然应用程序仍在运行,但应用程序的“运行状况”在Service Fabric Explorer中设置为“错误”。 DashboardConnectionString和StorageConnectionString都具有正确的值。 当它在控制台应用程序或WorkerRole中运行时,我看不到任何类似代码的问题。 我错过了什么吗? 有没有人在Service Fabric应用程序中成功使用过WebJob SDK? public sealed class TestStatelessService : StatelessService { public TestStatelessService(StatelessServiceContext context) : base(context) { } /// /// Optional override to create listeners (eg, TCP, HTTP) for this service replica to handle client or user requests. /// /// A collection of […]

Azure Webjobs的命令行参数

我正在迁移之前安排并通过Quartz.Net运行到Azure Webjobs的几个Jobs。 使用Quartz.Net允许我在与初始化调度程序的控制台程序入口点相同的项目中拥有所有(非常紧凑的)作业类。 现在,我希望保留该结构,而无需为每个Web作业创建一个独立的控制台应用程序项目。 目前是否有任何方法可以为连续Web作业配置命令行参数,以允许根据命令行参数在内部分支到正确的作业?

在Azure上的WebJob中使用connectionstring

有没有一种简单的方法可以在Azure上共享网站和WebJob之间的连接字符串? 我发现的唯一方法是从控制台应用程序中读取web.config,但它对我来说并不好看。

Azure WebJob命令超时

我们遇到Azure Web Jobs问题。 我们创建了一个C#控制台应用程序,压缩它,并创建了新的Web作业。 这是一个ac#console应用程序,它将不断点击我们的一个Web服务来处理队列中的项目。 每当我们运行Web作业时,我们都会收到以下错误: ‘cmd / c xxxxxxxx ….’由于没有输出和CPU活动而中止了121秒。 您可以增加SCM_COMMAND_IDLE_TIMEOUT设置以解决问题 当我们将SCM_COMMAND_IDLE_TIMEOUT增加到600 (10分钟)时。 作业运行10分钟 – 然后我们得到相同的错误,同样的121 seconds错误。 我们做错了什么? 这是控制台应用程序代码: static void Main(string[] args) { bool ThereAreItemsInQueue = true; int Counter = 1; DateTime StartTime = DateTime.Now; while(ThereAreItemsInQueue) { Task.Run(() => { try { //DEQUEUE byte[] response = HttpHelper.HttpPOST(@”xxxxxxxxxxxxx”, new byte[0]); string strResponse = System.Text.Encoding.Default.GetString(response); […]

无法将参数’log’绑定到类型TraceWriter

在执行右键单击项目时获取以下消息 – >调试 – >启动新实例。 [1/7/2018 6:48:54 AM]发生ScriptHost错误[1/7/2018 6:48:54 AM]执行HTTP请求:{[1/7/2018 6:48:54 AM] Microsoft .Azure.WebJobs.Host:错误索引方法’TestFilesIngestJobs.RunScheduleAsync’。 Microsoft.Azure.WebJobs.Host:无法绑定参数’log’以键入TraceWriter。 确保绑定支持参数Type。 如果您正在使用绑定扩展(例如ServiceBus,Timers等),请确保您已在启动代码中调用扩展的注册方法(例如config.UseServiceBus(),config.UseTimers()等)。 [1/7/2018 6:48:54 AM]“requestId”:“dbb282d7-44e2-44b4-907e-877beac9da2d”,[1/7/2018 6:48:54 AM]错误索引方法’MasterDataFilesIngestJobs.RunScheduleAsync’ [1/7/2018 6:48:54 AM]“方法”:“GET”,

使用ImageResizer的Azure C#WebJob未正确设置Content-Type

我正在使用Azure WebJob来调整新上传的图像的大小。 resize有效,但新创建的图像没有在Blob存储中正确设置其内容类型。 相反,它们列在application / octet-stream中。 这里处理resize的代码: public static void ResizeImagesTask( [BlobTrigger(“input/{name}.{ext}”)] Stream inputBlob, string name, string ext, IBinder binder) { int[] sizes = { 800, 500, 250 }; var inputBytes = inputBlob.CopyToBytes(); foreach (var width in sizes) { var input = new MemoryStream(inputBytes); var output = binder.Bind(new BlobAttribute($”output/{name}-w{width}.{ext}”, FileAccess.Write)); ResizeImage(input, output, width); } } […]

Azure函数使用TraceWriter在外部库中进行日志记录

如何重用azure函数中可用的TraceWriter对象来记录外部引用的库中的信息? 我尝试使用构造函数传入对象并引用TraceWriter类(web.http.tracing)。 我没有运气,因为课程看起来不同。