Вы неправильно используете IServiceScope — вы его уничтожаете сразу после создания, не дождавшись выполнения задачи. А используя ActivatorUtilities из Microsoft.Extensions.DependencyInjection можно избежать регистрации самих задач в контейнере.
Код
public class JobFactory : IJobFactory
{
private readonly IServiceProvider _provider;
public JobFactory(IServiceProvider provider)
{
_provider = provider;
}
public IJob NewJob(TriggerFiredBundle bundle, IScheduler scheduler)
{
return new JobWrapper(_provider, bundle.JobDetail.JobType);
}
public void ReturnJob(IJob job)
{
(job as IDisposable)?.Dispose();
}
}
public class JobWrapper : IJob, IDisposable
{
private readonly IServiceScope _serviceScope;
private readonly IJob _job;
public JobWrapper(IServiceProvider serviceProvider, Type jobType)
{
_serviceScope = serviceProvider.GetRequiredService<IServiceScopeFactory>().CreateScope();
_job = ActivatorUtilities.CreateInstance(_serviceScope.ServiceProvider, jobType) as IJob;
}
public Task Execute(IJobExecutionContext context)
{
return _job.Execute(context);
}
public void Dispose()
{
_serviceScope.Dispose();
}
}
public class DataJob : IJob
{
private readonly IEmailSender _emailSender;
public DataJob(IEmailSender emailSender)
{
_emailSender = emailSender;
}
public async Task Execute(IJobExecutionContext context)
{
await _emailsender.SendEmailAsync("example@gmail.com", "example", "hello");
}
}
В Fortnite долгое время был просто зверский L2R2 (прицел-выстрел) auto-aim. И все клава-мышеры писали кипятком от постоянных хедшотов. Поэтому конкретно в Fortnite проблема скорее не в прицеливании, а в недостатке кнопок (привет Scuf). А так многие профессионалы играют только на джойстике.
А меня наоборот пугают такие веяния. Сейчас .NET Core кажется более независимым от LTS цикла и развивается настолько быстро насколько вообще может. А так получается что новые фишки будут приходить только раз в год. Я больше за то, чтобы .NET Framework 5 был более стабильным подмножеством .NET Core с LTS.
Базовые образы уже давно поменялись:
для сборки: microsoft/dotnet:2.2-sdk
для публикации: microsoft/dotnet:2.2-aspnetcore-runtime
и минимальные образы: microsoft/dotnet:2.2-aspnetcore-runtime-alpine
И уже в альфе 3.0 версия которая будет запускаться исключительно на netcoreapp 3.0.
Материал изложен прекрасно. Но к сожалению (а может и к счастью) обходит стороной реальный процесс настройки кластера (kubeadm, kops, terraform) и принцип работы его основных компонентов (kubelet, kube-proxy, kube-apiserver, kube-scheduler, kube-controller-manage и прочие).
Для работы я бы рекомендовал покупать мониторы с USB Type-C входом, например: Samsung S27H850QFN. У LG есть получше. Монитор + зарядка (Power Delivery) + USB-хаб и всего один провод на столе.
— Скорость порта на уровне 2.0
— Нет поддержки USB Type-C Alt Mode (USB 3.1)
— Нет поддержки Quick Charge (только свой Dash Charge)
Говорят, это всё из-за Dash Charge от Oppo, который распиновкой не совместим со стандартом 3.1.
или диванных оставить в своей песочнице, а клава-мышей кидать к пк-шникам
В Fortnite долгое время был просто зверский L2R2 (прицел-выстрел) auto-aim. И все клава-мышеры писали кипятком от постоянных хедшотов. Поэтому конкретно в Fortnite проблема скорее не в прицеливании, а в недостатке кнопок (привет Scuf). А так многие профессионалы играют только на джойстике.
Отличная статья, спасибо. Ещё хотелось бы узнать про dynamic volume provisioning на bare-metal.
для сборки: microsoft/dotnet:2.2-sdk
для публикации: microsoft/dotnet:2.2-aspnetcore-runtime
и минимальные образы: microsoft/dotnet:2.2-aspnetcore-runtime-alpine
И уже в альфе 3.0 версия которая будет запускаться исключительно на netcoreapp 3.0.
Материал изложен прекрасно. Но к сожалению (а может и к счастью) обходит стороной реальный процесс настройки кластера (kubeadm, kops, terraform) и принцип работы его основных компонентов (kubelet, kube-proxy, kube-apiserver, kube-scheduler, kube-controller-manage и прочие).
Для работы я бы рекомендовал покупать мониторы с USB Type-C входом, например: Samsung S27H850QFN. У LG есть получше. Монитор + зарядка (Power Delivery) + USB-хаб и всего один провод на столе.
Тренд Ютуба. Бессмысленный и беспощадный. Но функционал полезный.
Это по сравнению с чем? HLS? Какова вообще реальная задержка real-time видео?
Есть ли вообще смартфоны без фронталки с большим дисплеем (свыше 90% площади) и с нормальными характеристиками?
Почитайте про ARM big.LITTLE. В кратце, так проще оптимизировать энергоэффективность.
Осталось прикрутить X-Forwarded-*, Load Balancer, кеширование и… тогда легче настроить nginx или HAProxy.
— Нет поддержки USB Type-C Alt Mode (USB 3.1)
— Нет поддержки Quick Charge (только свой Dash Charge)
Говорят, это всё из-за Dash Charge от Oppo, который распиновкой не совместим со стандартом 3.1.