Для начала определимся что же мы хотим сделать. Давайте возьмем самый простой вариант и напишем аналог
IJob:
public struct Job : IJobSingle {
public void Execute() {
}
}
Т.е. мы хотим сделать стандартную однопоточную джобу (многопточные делаются не сильно дольше), что нам для этого необходимо:
1. Интерфейс и скелет
2. Инициализация джобы
3. Сама джоба
С интерфейсом все просто:
https://pastebin.com/525gx464
Обратите внимание, что
JobProducerType говорит нам о том, что этот интерфейс не абы кто, а это интерфейс великой джобы;)Далее, иницилизация джобы. Мы должны вызвать сообщить шедуллеру, что в принципе у нас есть чего крутить. Для того, чтобы это заработало, нам нужно объявить инициализацию и вызвать ее в методе Schedule:
https://pastebin.com/rZ4GCbYx
Ну и финально - мы добавляем в наш Execute само выполнение:
https://pastebin.com/vKhUmDKX
#jobs