ru.bitel.bgbilling.modules.cerbercrypt.server.task

## Class SubscribeSynchronizer

- java.lang.Object
- - bitel.billing.server.task.bean.RunTask
  - - ru.bitel.bgbilling.modules.cerbercrypt.server.task.SubscribeSynchronizer

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Runnable

      public class SubscribeSynchronizer
      extends RunTask

  Задача синхронизации, запускается после каждого изменения карты итд. Выполняет периодическую задачу с указанием перечня конкретных карт.
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class bitel.billing.server.task.bean.RunTask

      `log, setup`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SubscribeSynchronizer(int mid, java.util.Collection<UserCard> usercards)`
    `SubscribeSynchronizer(int mid, UserCard usercard)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `executeTask()`
    `java.lang.String` | `getDescription()`
    `java.lang.String` | `getUniqueKeyParallel()` Ключ, который показывает уникальность этой задачи для запуска одновременно/параллельно.
    `java.lang.String` | `getUniqueKeyQueue()` Ключ, который показывает уникальность этой задачи для очереди.

    - ### Methods inherited from class bitel.billing.server.task.bean.RunTask

      `getQueueId, init, removeMyselfFromTable, run, setQueueId`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SubscribeSynchronizer

          public SubscribeSynchronizer(int mid,
                                       UserCard usercard)

    - #### SubscribeSynchronizer

          public SubscribeSynchronizer(int mid,
                                       java.util.Collection<UserCard> usercards)

  - ### Method Detail

    - #### getDescription

          public java.lang.String getDescription()

      Specified by:
        `getDescription` in class `RunTask`

    - #### executeTask

          public void executeTask()

      Specified by:
        `executeTask` in class `RunTask`

    - #### getUniqueKeyQueue

          public java.lang.String getUniqueKeyQueue()

      Description copied from class: `RunTask`
      Ключ, который показывает уникальность этой задачи для очереди. Задачи с одинаковым ключом, не равным null: при выборке шедулером (в TaskRunProcessor) считаются дублирующимися и схлопываются в одну. Если надо, чтобы задачи не копились кучей одинаковых в очереди - надо перегрузить этот метод. Пример: синхронизация одной и той же сущности в cerbercrypt. Хорошей практикой является ключ типа "модуль-мид-имятаска-какиетохарактеристикизадачи".
      Overrides:
        `getUniqueKeyQueue` in class `RunTask`

    - #### getUniqueKeyParallel

          public java.lang.String getUniqueKeyParallel()

      Description copied from class: `RunTask`
      Ключ, который показывает уникальность этой задачи для запуска одновременно/параллельно. Задачи с одинаковым ключом, не равным null: если сейчас уже запущена задача с таким же ключом, то эта задача остаётся в очереди, не запускается параллельно. Если надо, чтобы задачи не выполнялись параллельно, а ждали завершения предыдущей такой же - надо перегрузить этот метод. Пример: синхронизация в одну и ту же CAS разных сущностей cerbercrypt (чаще всего на всякий случай). Хорошей практикой является ключ типа "модуль-мид-имятаска".
      Overrides:
        `getUniqueKeyParallel` in class `RunTask`