public ChildTaskIndex(ICassandraCluster cassandraCluster, IRtqSettings rtqSettings, ISerializer serializer, ITaskMetaStorage taskMetaStorage) { this.cassandraCluster = cassandraCluster; this.rtqSettings = rtqSettings; this.serializer = serializer; this.taskMetaStorage = taskMetaStorage; }
public RemoteTaskQueue(ILog logger, ISerializer serializer, IGlobalTime globalTime, ICassandraCluster cassandraCluster, IRtqSettings rtqSettings, IRtqTaskDataRegistry taskDataRegistry, IRtqProfiler rtqProfiler) { QueueKeyspace = rtqSettings.QueueKeyspace; TaskTtl = rtqSettings.TaskTtl; Logger = logger.ForContext("CassandraDistributedTaskQueue"); Serializer = serializer; GlobalTime = globalTime; TaskDataRegistry = taskDataRegistry; enableContinuationOptimization = rtqSettings.EnableContinuationOptimization; minTicksHolder = new RtqMinTicksHolder(cassandraCluster, rtqSettings); TaskMinimalStartTicksIndex = new TaskMinimalStartTicksIndex(cassandraCluster, serializer, rtqSettings, new OldestLiveRecordTicksHolder(minTicksHolder), Logger); var taskMetaStorage = new TaskMetaStorage(cassandraCluster, serializer, rtqSettings, Logger); EventLogRepository = new EventLogRepository(serializer, cassandraCluster, rtqSettings, minTicksHolder); childTaskIndex = new ChildTaskIndex(cassandraCluster, rtqSettings, serializer, taskMetaStorage); HandleTasksMetaStorage = new HandleTasksMetaStorage(taskMetaStorage, TaskMinimalStartTicksIndex, EventLogRepository, GlobalTime, childTaskIndex, taskDataRegistry, Logger); TaskDataStorage = new TaskDataStorage(cassandraCluster, rtqSettings, Logger); TaskExceptionInfoStorage = new TaskExceptionInfoStorage(cassandraCluster, serializer, rtqSettings, Logger); HandleTaskCollection = new HandleTaskCollection(HandleTasksMetaStorage, TaskDataStorage, TaskExceptionInfoStorage, rtqProfiler); lazyRemoteLockCreator = new Lazy <IRemoteLockCreator>(() => { var remoteLockImplementationSettings = CassandraRemoteLockImplementationSettings.Default(rtqSettings.QueueKeyspace, RtqColumnFamilyRegistry.LocksColumnFamilyName); var remoteLockImplementation = new CassandraRemoteLockImplementation(cassandraCluster, serializer, remoteLockImplementationSettings); var remoteLockerMetrics = new RemoteLockerMetrics($"{rtqSettings.QueueKeyspace}_{RtqColumnFamilyRegistry.LocksColumnFamilyName}"); return(new RemoteLocker(remoteLockImplementation, remoteLockerMetrics, Logger)); }); Profiler = rtqProfiler; }
public EventLogRepository(ISerializer serializer, ICassandraCluster cassandraCluster, IRtqSettings rtqSettings, IMinTicksHolder minTicksHolder) { this.serializer = serializer; this.minTicksHolder = minTicksHolder; cfConnection = cassandraCluster.RetrieveColumnFamilyConnection(rtqSettings.QueueKeyspace, ColumnFamilyName); }
public TaskMinimalStartTicksIndex(ICassandraCluster cassandraCluster, ISerializer serializer, IRtqSettings rtqSettings, IOldestLiveRecordTicksHolder oldestLiveRecordTicksHolder, ILog logger) { this.cassandraCluster = cassandraCluster; this.serializer = serializer; this.oldestLiveRecordTicksHolder = oldestLiveRecordTicksHolder; this.logger = logger.ForContext(nameof(TaskMinimalStartTicksIndex)); keyspaceName = rtqSettings.QueueKeyspace; }
public TestCounterRepository(ILog log, ICassandraCluster cassandraCluster, ISerializer serializer, IGlobalTime globalTime, IRtqSettings rtqSettings) { this.serializer = serializer; this.globalTime = globalTime; var keyspaceName = rtqSettings.QueueKeyspace; cfConnection = cassandraCluster.RetrieveColumnFamilyConnection(keyspaceName, ColumnFamilyName); var remoteLockImplementationSettings = CassandraRemoteLockImplementationSettings.Default(keyspaceName, RtqColumnFamilyRegistry.LocksColumnFamilyName); var remoteLockImplementation = new CassandraRemoteLockImplementation(cassandraCluster, serializer, remoteLockImplementationSettings); remoteLockCreator = new RemoteLocker(remoteLockImplementation, new RemoteLockerMetrics(keyspaceName), log); }
public GlobalTimeProxy(ICassandraCluster cassandraCluster, IRtqSettings rtqSettings) { var maxTicksCfConnection = cassandraCluster.RetrieveColumnFamilyConnection(rtqSettings.QueueKeyspace, ColumnFamilyName); globalTime = new GlobalTime(maxTicksCfConnection); }
public SmallTtlRtqSettings(IRtqSettings baseSettings, TimeSpan taskTtl) { this.baseSettings = baseSettings; TaskTtl = taskTtl; }
public TestTaskLogger(ICassandraCluster cassandraCluster, IRtqSettings rtqSettings) { cfConnection = cassandraCluster.RetrieveColumnFamilyConnection(rtqSettings.QueueKeyspace, ColumnFamilyName); }
public TaskMetaStorage(ICassandraCluster cassandraCluster, ISerializer serializer, IRtqSettings rtqSettings, ILog logger) { this.serializer = serializer; var settings = new TimeBasedBlobStorageSettings(rtqSettings.QueueKeyspace, largeBlobsCfName, regularBlobsCfName); timeBasedBlobStorage = new TimeBasedBlobStorage(settings, cassandraCluster, logger.ForContext(nameof(TaskMetaStorage))); }
public TaskExceptionInfoStorage(ICassandraCluster cassandraCluster, ISerializer serializer, IRtqSettings rtqSettings, ILog logger) { this.serializer = serializer; timeBasedBlobStorage = new SinglePartitionTimeBasedBlobStorage(rtqSettings.QueueKeyspace, timeBasedCfName, cassandraCluster, logger.ForContext(nameof(TaskExceptionInfoStorage))); }
public RtqMinTicksHolder(ICassandraCluster cassandraCluster, IRtqSettings rtqSettings) { var minTicksCfConnection = cassandraCluster.RetrieveColumnFamilyConnection(rtqSettings.QueueKeyspace, ColumnFamilyName); minTicksHolder = new MinTicksHolder(minTicksCfConnection); }