Commit f26d46c3 by xiongyuwen

no message

parent 1224fc9d
using Abp.Domain.Services; using Abp.Application.Services;
using Abp.Domain.Services;
using Bailun.Discuz.Application.WeiPan.Dto.ResponseDto; using Bailun.Discuz.Application.WeiPan.Dto.ResponseDto;
using Bailun.Discuz.Domain.WeiPan; using Bailun.Discuz.Domain.WeiPan;
using System; using System;
...@@ -8,7 +9,7 @@ using System.Threading.Tasks; ...@@ -8,7 +9,7 @@ using System.Threading.Tasks;
namespace Bailun.Discuz.Application.WeiPan namespace Bailun.Discuz.Application.WeiPan
{ {
public interface IWeiPanService: IDomainService public interface IWeiPanService: IApplicationService
{ {
/// <summary> /// <summary>
///创建微盘空间 ///创建微盘空间
...@@ -26,7 +27,7 @@ namespace Bailun.Discuz.Application.WeiPan ...@@ -26,7 +27,7 @@ namespace Bailun.Discuz.Application.WeiPan
///// 获取首层文件列表 ///// 获取首层文件列表
///// </summary> ///// </summary>
///// <returns></returns> ///// <returns></returns>
Task<GetFileListResponse> GetFirstFileList(string userId); Task<GetFileListResponse> GetFirstFileList(string userId,bool isGetRedis = true);
///// <summary> ///// <summary>
///// 获取下载文件链接地址 ///// 获取下载文件链接地址
...@@ -47,6 +48,8 @@ namespace Bailun.Discuz.Application.WeiPan ...@@ -47,6 +48,8 @@ namespace Bailun.Discuz.Application.WeiPan
Task<long> CreateAttachment(long userId, string fileMd5, long typeId); Task<long> CreateAttachment(long userId, string fileMd5, long typeId);
Task<List<WeiPanFileList>> GetFileList(); Task<List<WeiPanFileList>> GetFileList();
Task ProcessWeiPanWorker(); Task<string> ProcessWeiPanWorker();
Task<WeiPanFileList> GetFileInfo(string fileId);
} }
} }
...@@ -76,10 +76,14 @@ namespace Bailun.Discuz.Service.Controllers ...@@ -76,10 +76,14 @@ namespace Bailun.Discuz.Service.Controllers
} }
[HttpGet("ProcessWeiPanWorker")] [HttpGet("ProcessWeiPanWorker")]
public async Task ProcessWeiPanWorker() public async Task<string> ProcessWeiPanWorker()
{ {
await _iweiPanService.ProcessWeiPanWorker(); return await _iweiPanService.ProcessWeiPanWorker();
}
[HttpGet("GetFileInfo")]
public async Task<WeiPanFileList> GetFileInfo(string fileId)
{
return await _iweiPanService.GetFileInfo(fileId);
} }
} }
} }
...@@ -3,10 +3,13 @@ ...@@ -3,10 +3,13 @@
<PropertyGroup> <PropertyGroup>
<OutputType>Exe</OutputType> <OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.2</TargetFramework> <TargetFramework>netcoreapp2.2</TargetFramework>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
<DockerfileContext>..\..\..</DockerfileContext>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="CSRedisCore" Version="3.6.6" /> <PackageReference Include="CSRedisCore" Version="3.6.6" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="2.2.0" /> <PackageReference Include="Microsoft.Extensions.Hosting" Version="2.2.0" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.9" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Update="appsettings.json"> <None Update="appsettings.json">
......
...@@ -4,6 +4,7 @@ using Abp.Reflection.Extensions; ...@@ -4,6 +4,7 @@ using Abp.Reflection.Extensions;
using Abp.Threading.BackgroundWorkers; using Abp.Threading.BackgroundWorkers;
using Bailun.AbpCore; using Bailun.AbpCore;
using Bailun.AbpCore.ServiceFabric; using Bailun.AbpCore.ServiceFabric;
using Bailun.Discuz;
using Bailun.Discuz.ConsoleApp.Publish.Worker; using Bailun.Discuz.ConsoleApp.Publish.Worker;
using Bailun.Discuz.Domain.ExternalApi; using Bailun.Discuz.Domain.ExternalApi;
using Bailun.ServiceFabric; using Bailun.ServiceFabric;
...@@ -16,7 +17,7 @@ using System; ...@@ -16,7 +17,7 @@ using System;
using System.IO; using System.IO;
using Z.EntityFramework.Extensions; using Z.EntityFramework.Extensions;
namespace Bailun.Discuz.ConsoleApp.Publish namespace Bailun.Amazon.ConsoleApp.Publish
{ {
[DependsOn( [DependsOn(
typeof(EFCoreModule), typeof(EFCoreModule),
...@@ -26,6 +27,7 @@ namespace Bailun.Discuz.ConsoleApp.Publish ...@@ -26,6 +27,7 @@ namespace Bailun.Discuz.ConsoleApp.Publish
{ {
public override void PreInitialize() public override void PreInitialize()
{ {
var environmentName = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); var environmentName = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
var configurationBuilder = new ConfigurationBuilder() var configurationBuilder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory()) .SetBasePath(Directory.GetCurrentDirectory())
...@@ -38,7 +40,7 @@ namespace Bailun.Discuz.ConsoleApp.Publish ...@@ -38,7 +40,7 @@ namespace Bailun.Discuz.ConsoleApp.Publish
var serviceProvider = WindsorRegistrationHelper.CreateServiceProvider(IocManager.IocContainer, services); var serviceProvider = WindsorRegistrationHelper.CreateServiceProvider(IocManager.IocContainer, services);
var dbContextOptionsBuilder = new DbContextOptionsBuilder<BaseContext>(); var dbContextOptionsBuilder = new DbContextOptionsBuilder<BaseContext>();
var conn = configuration.GetConnectionString("Default"); var conn = configuration.GetConnectionString("Discuz");
dbContextOptionsBuilder.UseMySql(conn).UseInternalServiceProvider(serviceProvider); dbContextOptionsBuilder.UseMySql(conn).UseInternalServiceProvider(serviceProvider);
IocManager.IocContainer.Register(Component.For<DbContextOptions<BaseContext>>() IocManager.IocContainer.Register(Component.For<DbContextOptions<BaseContext>>()
.Instance(dbContextOptionsBuilder.Options) .Instance(dbContextOptionsBuilder.Options)
...@@ -53,23 +55,34 @@ namespace Bailun.Discuz.ConsoleApp.Publish ...@@ -53,23 +55,34 @@ namespace Bailun.Discuz.ConsoleApp.Publish
ConfigManagerConf.SetConfiguration(configuration); ConfigManagerConf.SetConfiguration(configuration);
services.AddMicroServiceApi<ITaskJobApi>(ConfigManagerConf.GetValue("ApiServerUrl:TaskJobUrl")); services.AddMicroServiceApi<ITaskJobApi>(ConfigManagerConf.GetValue("ApiServerUrl:TaskJobUrl"));
services.AddMicroServiceApi<IPamsApi>(ConfigManagerConf.GetValue("ApiServerUrl:PamsUrl"));
services.AddAbp<ConsoleModule>(); services.AddAbp<ConsoleModule>();
string hostName = ConfigManagerConf.GetValue("redis:HostName");
string port = ConfigManagerConf.GetValue("redis:Port");
string password = ConfigManagerConf.GetValue("redis:Password");
string defaultdatabase = ConfigManagerConf.GetValue("redis:Defaultdatabase");
var redis_connString = $"{hostName}:{port}, defaultDatabase = {defaultdatabase},password={password}, poolsize = 500, ssl = false, writeBuffer = 10240";
var rs = new CSRedis.CSRedisClient(redis_connString);
RedisHelper.Initialization(rs);//初始化
Configuration.UnitOfWork.IsTransactional = false; Configuration.UnitOfWork.IsTransactional = false;
} }
public override void Initialize() public override void Initialize()
{ {
var workManager = IocManager.Resolve<IBackgroundWorkerManager>();
IocManager.RegisterAssemblyByConvention(typeof(ConsoleModule).GetAssembly()); IocManager.RegisterAssemblyByConvention(typeof(ConsoleModule).GetAssembly());
workManager.Add(IocManager.Resolve<PublishWeiPanWorker>());
} }
public override void PostInitialize() public override void PostInitialize()
{ {
var workManager = IocManager.Resolve<IBackgroundWorkerManager>();
var workManager = IocManager.Resolve<IBackgroundWorkerManager>();
var taskType = Environment.GetEnvironmentVariable("TaskType");
Console.WriteLine($"TaskType:{taskType}");
workManager.Add(IocManager.Resolve<PublishWeiPanWorker>());
} }
} }
} }
\ No newline at end of file
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
FROM mcr.microsoft.com/dotnet/core/runtime:2.2-stretch-slim AS base
WORKDIR /app
FROM mcr.microsoft.com/dotnet/core/sdk:2.2-stretch AS build
WORKDIR /src
COPY ["src/console/Bailun.Discuz.ConsoleApp.Publish/Bailun.Discuz.ConsoleApp.Publish.csproj", "src/console/Bailun.Discuz.ConsoleApp.Publish/"]
COPY ["src/Bailun.Discuz.Application/Bailun.Discuz.Application.csproj", "src/Bailun.Discuz.Application/"]
COPY ["src/Bailun.Discuz.Domain/Bailun.Discuz.Domain.csproj", "src/Bailun.Discuz.Domain/"]
COPY ["src/Bailun.Discuz.EFCore/Bailun.Discuz.EFCore.csproj", "src/Bailun.Discuz.EFCore/"]
COPY ["src/Bailun.Discuz.Service/Bailun.Discuz.Service.csproj", "src/Bailun.Discuz.Service/"]
RUN dotnet restore "src/console/Bailun.Discuz.ConsoleApp.Publish/Bailun.Discuz.ConsoleApp.Publish.csproj"
COPY . .
WORKDIR "/src/src/console/Bailun.Discuz.ConsoleApp.Publish"
RUN dotnet build "Bailun.Discuz.ConsoleApp.Publish.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Bailun.Discuz.ConsoleApp.Publish.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Bailun.Discuz.ConsoleApp.Publish.dll"]
\ No newline at end of file
{
"profiles": {
"Bailun.Discuz.ConsoleApp.Publish": {
"commandName": "Project"
},
"Docker": {
"commandName": "Docker"
}
}
}
\ No newline at end of file
using Abp.Dependency; using Abp.Dependency;
using Abp.Threading.BackgroundWorkers; using Abp.Threading.BackgroundWorkers;
using Abp.Threading.Timers; using Abp.Threading.Timers;
using Bailun.Discuz.Application.WeiPan;
using Bailun.ServiceFabric;
using System; using System;
namespace Bailun.Discuz.ConsoleApp.Publish.Worker namespace Bailun.Discuz.ConsoleApp.Publish.Worker
{ {
public class PublishWeiPanWorker : PeriodicBackgroundWorkerBase, ISingletonDependency public class PublishWeiPanWorker : PeriodicBackgroundWorkerBase, ISingletonDependency
{ {
//private readonly IListingAnalysisService _listingAnalysisService; private readonly IWeiPanService _weiPanService;
//private readonly IListingGroupService _listingGroupService;
//public PublishWeiPanWorker(AbpTimer timer,
// IListingAnalysisService listingAnalysisService,
// IListingGroupService listingGroupService) : base(timer)
//{
// timer.Period = 1000 * 60 * 30;
// timer.RunOnStart = true;
// _listingAnalysisService = listingAnalysisService; public PublishWeiPanWorker(AbpTimer timer,
// _listingGroupService = listingGroupService; IWeiPanService weiPanService) : base(timer)
//}
public PublishWeiPanWorker(AbpTimer timer) : base(timer)
{ {
timer.Period = 1000; //*60 * 30 _weiPanService = weiPanService;
var minute = ConfigManagerConf.GetValue("PublishWeiPanWorkerRunTime:Minute");
timer.Period = 1000 * 60 * Convert.ToInt32(minute);
timer.RunOnStart = true; timer.RunOnStart = true;
} }
protected override void DoWork() protected override void DoWork()
{ {
try try
{ {
Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}:开始listing分析");
Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}:结束listing分析"); Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}:开始生成帖子中");
var result= _weiPanService.ProcessWeiPanWorker().GetAwaiter().GetResult();
Console.WriteLine($"{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}:生成帖子完毕,"+ result);
} }
catch (Exception ex) catch (Exception ex)
{ {
Console.WriteLine($"lazada listing分析异常:{ex.Message},异常堆栈为:{ex.StackTrace}"); Console.WriteLine($"生成帖子异常:{ex.Message},异常堆栈为:{ex.StackTrace}");
} }
} }
} }
......
{ {
"ConnectionStrings": { "ConnectionStrings": {
"Default": "Server=10.0.8.6;port=3306;database=bailun_bltpro;uid=root;password=#7kfnymAM$Y9-Ntf;Convert Zero Datetime=True;Allow User Variables=True;pooling=true", "Discuz": "Server=106.55.44.113;port=3306;database=discuz;uid=admin;password=e066d4d1;Convert Zero Datetime=True;Allow User Variables=True;pooling=true"
"BltPro": "Server=10.0.8.6;port=3306;database=bailun_bltpro;uid=root;password=#7kfnymAM$Y9-Ntf;Convert Zero Datetime=True;Allow User Variables=True;pooling=true"
}, },
"redis": { "redis": {
"HostName": "172.31.255.227", "HostName": "10.0.8.8",
"Port": "6379", "Port": "6379",
"Password": "", "Password": "",
"Defaultdatabase": 1 "Defaultdatabase": 1
}, },
"PublishWeiPanWorkerRunTime": {
"minute": "30"
},
"QYWeChat": {
"AppId": "ww833808f6b8dc0745",
"Secret": "QmoJDF4oHEppM1CAAfjtkeu494LuKmUOZSwNCxO7E40",
"WeiPanSpaceId": "s.ww833808f6b8dc0745.610693393XlV",
"WeiPanSpaceFileId": "s.ww833808f6b8dc0745.610693393XlV_d.6106935069y7b"
},
"ApiServerUrl": { "ApiServerUrl": {
"ProductUrl": "http://pro.bailuntec.com", "ProductUrl": "http://pro.bailuntec.com",
"ProfitApiAddress": "http://profit.bailuntec.com", "ProfitApiAddress": "http://profit.bailuntec.com",
......
{ {
"ConnectionStrings": { "ConnectionStrings": {
"Default": "Server=gz-cdb-oxt89knc.sql.tencentcdb.com;port=62967;database=bailun_bltpro;uid=root;password=#7kfnymAM$Y9-Ntf;Convert Zero Datetime=True;Allow User Variables=True;pooling=true" "Discuz": "Server=106.55.44.113;port=3306;database=discuz;uid=admin;password=e066d4d1;Convert Zero Datetime=True;Allow User Variables=True;pooling=true"
}, },
"redis": { "redis": {
"HostName": "localhost", "HostName": "10.0.8.8",
"Port": "6379", "Port": "6379",
"Password": "", "Password": "",
"Defaultdatabase": "1" "Defaultdatabase": 1
},
"PublishWeiPanWorkerRunTime": {
"Minute": "1"
},
"QYWeChat": {
"AppId": "ww833808f6b8dc0745",
"Secret": "QmoJDF4oHEppM1CAAfjtkeu494LuKmUOZSwNCxO7E40",
"WeiPanSpaceId": "s.ww833808f6b8dc0745.610693393XlV",
"WeiPanSpaceFileId": "s.ww833808f6b8dc0745.610693393XlV_d.6106935069y7b"
}, },
"ApiServerUrl": { "ApiServerUrl": {
"ProductUrl": "http://pro.bailuntec.com", "ProductUrl": "http://pro.bailuntec.com",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment