SF
code-craft
code-craft
注册登录
关注博客
注册登录
主页
关于
RSS
聊聊PowerJob的CleanService
codecraft
2 月 11 日
阅读 5 分钟
448
timingClean先执行WorkerClusterManagerService.cleanUp()释放本地缓存,之后通过cleanLocal释放本地磁盘空间,最后执行cleanByOneServer删除历史数据
聊聊PowerJob的InstanceStatusCheckService
codecraft
2 月 10 日
阅读 15 分钟
597
InstanceStatus定义了任务实例的状态,广义运行中的状态为WAITING_DISPATCH、WAITING_WORKER_RECEIVE、RUNNING;终态为FAILED、SUCCEED、CANCELED、STOPPED
聊聊PowerJob的任务调度
codecraft
2 月 9 日
阅读 13 分钟
519
CoreScheduleTaskManager在afterPropertiesSet的时候会启动一系列的线程,它们都是LoopRunnable类型的,分别调度powerScheduleService.scheduleNormalJob(TimeExpressionType.CRON)、powerScheduleService.scheduleNormalJob(TimeExpressionType.DAILY_TIME_INTERVAL)、powerScheduleService::scheduleCronWorkflow、pow...
聊聊PowerJob Server的高可用
codecraft
2 月 8 日
阅读 15 分钟
516
PowerJobSpringWorker实现了InitializingBean接口,其afterPropertiesSet会创建powerJobWorker,然后执行其init方法
聊聊PowerJob Worker的ServerAddress
codecraft
2 月 7 日
阅读 6 分钟
500
PowerJobAutoConfiguration读取powerjob.worker.server-address属性,解析逗号分隔,赋值给PowerJobWorkerConfig的serverAddress
聊聊PowerJob的ServerController
codecraft
2 月 6 日
阅读 9 分钟
376
ServerController实现了ServerInfoAware接口,它提供了assert、assertV2、acquire、hello接口;其中assert接口用于判断指定的appName是否存在,assertV2返回的是WorkerAppInfo;acquire委托给了serverElectionService.elect(request);hello接口返回server端的localhost、serverInfo、serverTime等信息
聊聊PowerJob的AppInfoController
codecraft
2 月 5 日
阅读 4 分钟
285
序本文主要研究一下PowerJob的AppInfoControllerAppInfoControllertech/powerjob/server/web/controller/AppInfoController.java {代码...} AppInfoController提供了save、assert、delete、list方法AppInfoServicetech/powerjob/server/core/service/AppInfoService.java {代码...} AppInfoService定义了assertApp方法Ap...
聊聊PowerJob的UserInfoController
codecraft
2 月 4 日
阅读 7 分钟
224
序本文主要研究一下PowerJob的UserInfoControllerUserInfoControllertech/powerjob/server/web/controller/UserInfoController.java {代码...} UserInfoController提供了save、list方法,其中save方法用到了userService.saveUserServicetech/powerjob/server/core/service/UserService.java {代码...} UserService提供了...
聊聊PowerJob日志的上报及存储
codecraft
2 月 3 日
阅读 17 分钟
404
序本文主要研究一下PowerJob的日志上报及存储OmsLoggerFactory.buildtech/powerjob/worker/log/OmsLoggerFactory.java {代码...} 默认logConfig为null,cfg是new LogConfig(),其build出来的是OmsServerLoggerOmsServerLoggertech/powerjob/worker/log/impl/OmsServerLogger.java {代码...} OmsServerLogger的process方...
聊聊PowerJob的ContainerTemplateGenerator
codecraft
2 月 2 日
阅读 5 分钟
240
ContainerTemplateGenerator的generate方法提供了生成外置动态加载的代码模版,它从classpath读取oms-template-origin.zip文件,然后解压到临时目录,之后按行读取pom.xml文件,替换掉group、name、javaVersion信息,接着在src/main/java下面写入包名对应的目录,然后替换src/main/resources/oms-worker-container-sprin...
聊聊PowerJob的ServerDeployContainerRequest
codecraft
2 月 1 日
阅读 11 分钟
246
ServerDeployContainerRequest定义了containerId、containerName、version、downloadURL属性
聊聊PowerJob的ContainerController
codecraft
1 月 31 日
阅读 19 分钟
225
ContainerController提供了downloadJar、downloadContainerTemplate、jarUpload、save、delete、list、listDeployedWorker接口,其中downloadJar、jarUpload、save、delete委托给了containerService
聊聊PowerJob的InstanceController
codecraft
1 月 30 日
阅读 13 分钟
301
InstanceController提供了stop、retry、detail、log、downloadLogUrl、downloadLog、downloadLog4Console、list方法;其中stop、retry、detail委托给了instanceService;log、downloadLogUrl、downloadLog、downloadLog4Console委托给了instanceLogService;list委托给了instanceInfoRepository
聊聊PowerJob的SystemInfoController
codecraft
1 月 29 日
阅读 9 分钟
238
SystemInfoController提供了listWorker、getSystemOverview方法;listWorker则是根据当前登录的appId来获取其WorkerInfo;getSystemOverview则是统计了当前appId的总任务数量、运行任务数、近期失败任务数
聊聊PowerJob的JobController
codecraft
1 月 28 日
阅读 12 分钟
306
JobController提供了save、copy、export、disable、delete、run、list方法;除了list外其他均委托给了jobService
聊聊PowerJob的BroadcastProcessor
codecraft
1 月 27 日
阅读 14 分钟
268
BroadcastProcessor接口继承了BasicProcessor,它定义了preProcess、postProcess、defaultResult方法,其中preProcess默认返回成功的ProcessResult,postProcess返回defaultResult,它会根据taskResults计算最终的success与否
聊聊PowerJob的MapReduceProcessor
codecraft
1 月 26 日
阅读 4 分钟
244
序本文主要研究一下PowerJob的MapReduceProcessorMapReduceProcessor {代码...} MapReduceProcessor继承了MapProcessor,它新增了reduce方法TaskResulttech/powerjob/worker/core/processor/TaskResult.java {代码...} TaskResult定义了taskId、success、result属性handleLastTasktech/powerjob/worker/core/processor/r...
聊聊PowerJob的ProcessorTracker
codecraft
1 月 25 日
阅读 8 分钟
283
ProcessorTracker接收TaskTrackerStartTaskReq参数,然后初始化线程池、初始化定时任务、初始化processorBean,它提供了submitTask、destroy方法
聊聊PowerJob的MapProcessor
codecraft
1 月 24 日
阅读 15 分钟
429
MapProcessor接口继承了BasicProcessor,它提供了默认的map方法用于分发子任务,它主要是构造了ProcessorMapTaskRequest,通过TransportUtils.reliableMapTask发送请求;它还提供了isRootTask方法用于判断当前任务是不是根任务
聊聊PowerJob的ThreadPoolConfig
codecraft
1 月 23 日
阅读 5 分钟
321
ThreadPoolConfig定义了PowerJobTimingPool、PowerJobBackgroundPool、PowerJobLocalDbPool四个线程池,以及一个taskScheduler,这里使用的是spring的ThreadPoolTaskExecutor及ThreadPoolTaskScheduler,他们都继承了ExecutorConfigurationSupport
聊聊PowerJob的HashedWheelTimer
codecraft
1 月 22 日
阅读 12 分钟
204
Timer接口定义了schedule方法,用于在指定时间之后调度TimerTask,它返回TimerFuture;stop方法返回未处理的TimerTask
聊聊PowerJob的UserService
codecraft
1 月 21 日
阅读 4 分钟
176
序本文主要研究一下PowerJob的UserServiceUserServicetech/powerjob/server/core/service/UserService.java {代码...} UserService提供了save及fetchNotifyUserList方法,基于UserInfoRepository来实现UserInfoDOtech/powerjob/server/persistence/remote/model/UserInfoDO.java {代码...} UserInfoDO定义了username、em...
聊聊PowerJob的AliOssService
codecraft
1 月 20 日
阅读 7 分钟
220
序本文主要研究一下PowerJob的AliOssServiceDFsServicetech/powerjob/server/extension/dfs/DFsService.java {代码...} DFsService接口定义了store、download、fetchFileMeta、cleanExpiredFiles方法AbstractDFsServicetech/powerjob/server/persistence/storage/AbstractDFsService.java {代码...} AbstractDFsService...
聊聊PowerJob的GridFsManager
codecraft
1 月 19 日
阅读 6 分钟
203
GridFsManager实现了InitializingBean接口,其afterPropertiesSet从environment读取oms.mongodb.enable配置,默认为false;其构造器注入mongoTemplate,若为null则available为false;其getBucket方法则根据bucketName缓存到bucketCache,若不存在则通过GridFSBuckets.create创建
聊聊PowerJob的OhMyClassLoader
codecraft
1 月 18 日
阅读 7 分钟
182
OhMyClassLoader继承了URLClassLoader,它定义了load方法,遍历urls,挨个根据url创建JarFile,然后遍历jarFile.entries(),找到.class结尾的entry,判断是否是packageName开头的,是则执行父类的loadClass方法
聊聊PowerJob的DesignateServer
codecraft
1 月 17 日
阅读 4 分钟
276
tech/powerjob/server/remote/server/redirector/DesignateServerAspect.java
聊聊PowerJob的TransportServiceAware
codecraft
1 月 16 日
阅读 3 分钟
210
序本文主要研究一下PowerJob的TransportServiceAwareTransportServiceAwaretech/powerjob/server/remote/aware/TransportServiceAware.java {代码...} TransportServiceAware继承了PowerJobAware,它定义了setTransportService方法FriendActortech/powerjob/server/remote/server/FriendActor.java {代码...} FriendActo...
聊聊PowerJob的QueryConvertUtils
codecraft
1 月 15 日
阅读 7 分钟
202
QueryConvertUtils提供了toSpecification静态方法,用于将PowerQuery转换为jpa的Specification
聊聊PowerJob的Alarmable
codecraft
1 月 14 日
阅读 7 分钟
159
Alarm定义了fetchTitle方法,提供了fetchContent默认方法,它有两个实现类分别是JobInstanceAlarm、WorkflowInstanceAlarm
聊聊PowerJob的UseCacheLock
codecraft
1 月 13 日
阅读 4 分钟
150
序本文主要研究一下PowerJob的UseCacheLockUseCacheLocktech/powerjob/server/core/lock/UseCacheLock.java {代码...} UseCacheLock注解定义了type、key、concurrencyLevel属性UseCacheLockAspecttech/powerjob/server/core/lock/UseCacheLockAspect.java {代码...} UseCacheLockAspect拦截@UseCacheLock注解,它定义了l...
上一页
1
2
(current)
3
4
5
…
More
下一页
上一页
2
(current)
下一页