Class RunTask
java.lang.Object
ru.bitel.bgbilling.kernel.task.server.bean.RunTask
- All Implemented Interfaces:
 Serializable,Runnable
- Direct Known Subclasses:
 AdvancePaymentsManual,AssistRecurringRunTask,AutoprintAutoBatch,AutoprintReprintAsIsBatch,AutoprintReprintAutoBatch,BillDocsSender,BillDocsSenderForAll,CommentUpdater,InetRecalculator,RunTaskRecalculator,SessionsRecalculator,SubscribeSynchronizer,TvRecalculator,VoiceBalanceSetter
Периодическая/тяжёлая задача в представлении Runnable который запускается в пуле.
 После запуска выполняет executeTask таска-класса и после завершения executeTask удаляет запись о себе из таблицы запущенных задач (scheduled_task_run).
 Обычно в executeTask создаётся таск-задача (из тех что периодические, например) и делается её run напрямую.
- See Also:
 
- 
Field Summary
Fields - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidabstract StringintКлюч, который показывает уникальность этой задачи для запуска одновременно/параллельно.Ключ, который показывает уникальность этой задачи для очереди.voidprotected voidfinal voidrun()voidsetQueueId(int id)  
- 
Field Details
- 
setup
 - 
log
protected transient org.apache.logging.log4j.Logger log 
 - 
 - 
Constructor Details
- 
RunTask
public RunTask() 
 - 
 - 
Method Details
- 
setQueueId
public void setQueueId(int id)  - 
getQueueId
public int getQueueId() - 
getDescription
 - 
init
 - 
run
public final void run() - 
removeMyselfFromTable
protected void removeMyselfFromTable() - 
executeTask
protected abstract void executeTask() - 
getUniqueKeyQueue
Ключ, который показывает уникальность этой задачи для очереди. Задачи с одинаковым ключом, не равным null: при выборке шедулером (в TaskRunProcessor) считаются дублирующимися и схлопываются в одну. Если надо, чтобы задачи не копились кучей одинаковых в очереди - надо перегрузить этот метод. Пример: синхронизация одной и той же сущности в cerbercrypt. Хорошей практикой является ключ типа "модуль-мид-имятаска-какиетохарактеристикизадачи". - 
getUniqueKeyParallel
Ключ, который показывает уникальность этой задачи для запуска одновременно/параллельно. Задачи с одинаковым ключом, не равным null: если сейчас уже запущена задача с таким же ключом, то эта задача остаётся в очереди, не запускается параллельно. Если надо, чтобы задачи не выполнялись параллельно, а ждали завершения предыдущей такой же - надо перегрузить этот метод. Пример: синхронизация в одну и ту же CAS разных сущностей cerbercrypt (чаще всего на всякий случай). Хорошей практикой является ключ типа "модуль-мид-имятаска". 
 -