itthon / Internet / 1s, hogy melyik felhasználó alatt fut a háttérfeladat. Háttérfeladat programozott indítása. Ütemezett és háttérmunkák

1s, hogy melyik felhasználó alatt fut a háttérfeladat. Háttérfeladat programozott indítása. Ütemezett és háttérmunkák

Az 1C adatbázisok ütemezett feladatainak kezelése a frissítőből

2018-11-20T15:18:30+00:00

Ebben a megjegyzésben vessünk egy pillantást a frissítő képességeire az ütemezett feladatok adatbázisokban történő kezelésére.

Először is a "Továbbiak" -> "Ütemezett feladatok kezelése..." menüpontban:

NÁL NÉL helyi menü dedikált bázis (vagy bázisok csoportja):

És végül a kötegelt szkriptek sablonjaiban (ez lehetővé teszi, hogy ütemezett feladatokat hajtson végre egy parancsfájlból ütemezetten):

Így néz ki az adatbázisokban lévő ütemezett feladatok kezelésére szolgáló párbeszédpanel:

Milyen feladatok megoldását teszi lehetővé a kívánt báziscsoportban (vagy egy bázison)?

Ütemezett feladatok kiválasztása

Ügyeljen arra, hogy az alábbiakban számos műveletnél kiválaszthatja az ütemezett feladatok listáját:

Előfordulhat azonban, hogy a kiválasztási párbeszédpanelen nincsenek ütemezett feladatok kifejezetten az Ön bázisához:

Ebben az esetben a "Saját feladatok..." részben megadhatja a szükséges ütemezett feladatok nevét, például így:

Az ilyen ütemezett feladatok nevei közvetlenül az összes ütemezett feladatról készült jelentésből származnak (leírva).

A feladatok aktuális állapotának megjelenítése

Ehhez lépjen a "Visszavonás" fülre, és nyomja meg a "Vissza..." gombot:

Az eredményekben a következőket láthatjuk:

  1. Új ütemezett feladatok indításának engedélyezése vagy letiltása az 1C szerveren.
  2. Az ütemezett feladatok listája az adatbázisban.
  3. A menetrendjük.
  4. Feladatok engedélyezve vagy letiltva.
  5. Ha a feladat legutóbbi futtatása hibás volt, ez a hiba piros színnel jelenik meg a feladat mellett.

Szükség esetén a szolgáltatás beállításaiban szűkíthetjük az ütemezett feladatok listáját, valamint csak az engedélyezett feladatokat jeleníthetjük meg:

Kapcsolja ki az összes vagy néhány feladatot

Ehhez lépjen a "Kikapcsolás" fülre:

Az összes vagy a kiválasztott ütemezett munka törli a Használat jelölőnégyzet jelölését.

Íme az egyik alap eredménye (kattintson a kibontáshoz)

Tartalmazza az összes vagy néhány feladatot

Ehhez lépjen az "Engedélyezés" fülre:

Az összes vagy a kiválasztott ütemezett munkánál be lesz jelölve a Használat jelölőnégyzet.

Kérjük, vegye figyelembe, hogy ezen a lapon a „Make biztonsági mentés alap" a bal alsó sarokban.

Íme az egyik alap eredménye (kattintson a kibontáshoz)

Mi kezeljük az ütemezett feladatok elindítását az 1C szerveren

Ehhez lépjen a "Server 1C" fülre:

Válassza a "blokkolás" vagy a "blokkolás feloldása" lehetőséget, és kattintson a "Futtatás" gombra.

Feladat ütemezésének összeállítása

De mi van akkor, ha ütemezést kell beállítanunk egy feladat (vagy egy feladatcsoport) elindításához több adatbázisban egyszerre?

Ehhez lépjen az "Ütemezés beállítása" fülre:

Beállítjuk az ütemezést (a párbeszédablak és képességei teljesen megegyeznek a szokásos 1C-vel), és kattintson a "Beállítás ..." gombra.

Feladatok elindítása végrehajtásra

Ehhez lépjen a "Start" fülre:

Válassza ki a kívánt feladatokat, és kattintson a "Start" gombra:

Munkabeállítások mentése külső fájlba

Tegyük fel, hogy ideálisan konfiguráltuk az ütemezett feladatokat az egyik adatbázisban, és át akarjuk vinni ezeket a beállításokat az összes többi adatbázisba.

Ehhez először feltöltjük az ideális adatbázisban található összes feladatbeállítást egy külső fájlba:

Munkabeállítások visszaállítása külső fájlból

Ezután betöltjük ezt a fájlt a feladatbeállításokkal az összes többi adatbázisba:

Csak vegye figyelembe, hogy ehhez a feladathoz (jobbeállítások átvitele egyik adatbázisból a másikba) a feladatnév és nem a belső azonosító szerinti egyeztetés módszerét választottam.

búcsúzó szó

Általában csak ennyit akartam elmondani. Jómagam sok forgatókönyvet látok az új funkciók használatára, de itt csak átfutottam a főbb pontokat.

Platformok: 1C:Enterprise 8.3, 1C:Enterprise 8.2, 1C:Enterprise 8.1
Konfigurációk: Minden konfiguráció

2012-11-13
53989

A munkafolyamatban vannak olyan feladatok, amelyek időszakos végrehajtást igényelnek - például huszadikán vagy naponta. A cégekben általában kifejezetten erre a célra bizonyos szabályokat hoznak létre, amelyek jelzik, hogy a szükséges feladatot mikor és hogyan kell elvégezni, illetve kinek kell a folyamatot irányítania. Az ilyen feladatokat az előírásoknak megfelelően végzik, és szabályozottnak nevezik.

Az informatika gyakran követi a felügyelet szabályait. Ez a módszer jól ismert a rendszergazdák számára, mivel vannak speciális programok a hálózati infrastruktúra és a szerverek állapotának időszakos ellenőrzésére szolgál. Az észlelt problémákról SMS-ben vagy e-mailben értesítik a rendszergazdát.

Hasonló rendszer a webmesterek számára is érvényes, míg az oldal elérhetőségét 24 órán belül ellenőrzik. Az 1C „Rendszeres feladatok” mechanizmusának segítségével a megfigyelési feladatokat, valamint a rendszeres időközönként ütemezett feladatokat hajtják végre. automatikus üzemmód 1C-ben. Tekintsük ezt a témát részletesebben.

Ütemezett feladatok 1C

Az 1C objektum, amelyet "Rendszeres feladatoknak" neveznek - lehetővé teszi az információk feldolgozását nem a probléma fellépése után, hanem ütemezés szerint. A konfigurátorban rutinfeladat egy módja a beállítások megadásának és az ütemezésnek. Ezenkívül lehetőség van az ütemezés utólagos megváltoztatására az 1C Enterprise módban.

Fájladatbázis használatakor a feladatok nem hajtódnak végre automatikusan. A folyamat elindításához el kell indítania egy 1C munkamenetet 1C Enterprise módban, és el kell indítania egy ütemezett feladat végrehajtását abban.

Minden tipikus konfiguráció rendelkezik felhasználói beállítással, amely lehetővé teszi annak tisztázását, hogy amikor az 1C fut, a rutinfeladatok automatikusan végrehajtásra kerülnek.

Az 1C kliens-szerver verziójának használata lehetővé teszi a feladatok automatikus végrehajtását a szerveren. Az ütemezett időpontban - elindul egy háttérfeladat, amely elvégzi a szükséges műveleteket. A szerveren történő párhuzamos számításhoz a programszövegből az 1C nyelv használatával háttérfeladat hozható létre ütemezett 1C feladat nélkül. Egy ütemezett feladat művelete ideiglenesen letiltható az 1C szerverfelügyeleti konzol használatával.

Ütemezett munka hozzáadása

Az ütemezett feladatok itt találhatók: — Konfigurátor — Általános — Ütemezett feladatok. Adjon hozzá egy új "feladatot", és adjon meg egy nevet. Ezután a „Feladatok” tulajdonságaihoz kell mennie. És válassza a Módszer neve lehetőséget. Itt meg kell adni a kezelő funkciót, ahogyan az esemény-előfizetésnél is történik. Ez a funkció az általános modulban található, és a tulajdonságokban egy "madár" szerverrel lesz megjelölve. Ez azt jelenti, hogy a szükséges modult előre hozzá kell adni.

A feladat neve az ütemezett feladat tulajdonságai között lehetővé teszi a nevének meghatározását, amely később megjelenik a feladatkezelő eszközökben. Az Ütemezett job tulajdonságai funkció egy kulcs, amely lehetővé teszi több különböző ütemezett job csoportosítását. Ebben az esetben egyszerre csak egy feladat indítható el ugyanaz az érték kulcs. Itt az érték tetszőleges lehet, de kötelező kitölteni, mivel az üres értéket nem veszi figyelembe a rendszer.

Az Accounting 2.0 kiadásban, amely egy tipikus konfiguráció, az ütemezett feladatok, mint például: „Összszegek újraszámítása” és „Konfiguráció frissítése”, előre meghatározottak, és például a „Késleltetett mozgások” és az „Adatcsere” nincsenek előre meghatározva.

Crash Retry – Újraindít egy futó feladatot. Olyan indításhoz biztosított, amely első alkalommal nem fejeződött be sikeresen. Itt látható, hogy hányszor indítható újra, és mennyi idővel az összeomlás után.

Felügyeleti és felügyeleti eszközök az ütemezett feladathoz 1C

Az ütemezett feladat kezeléséért az ITS lemezeken található szabványos „Job Console” feldolgozás felel. Ez a feldolgozás egy univerzális külső szabvány feldolgozó 1C. Általában nem szerepel a konfigurációban, de külön vásárolható meg.

Segítségével a következő műveleteket hajthatja végre:

Az ütemezett feladat be- és kikapcsolása;

Az ütemezés hozzárendelése és módosítása;

Adja meg annak a felhasználónak a nevét, akivel az ütemezett feladatot végrehajtja;

Tekintse meg az elvégzett feladatokat (mikor és milyen eredménnyel), valamint a feladathibákat;

Ütemezett feladat és adatbázis másolatok

Az 1C szerver használatakor a következő pillanat fordulhat elő:

A programozáshoz másolatot kell készíteni a működő adatbázisról;

Az adatbázis másolataival való munka szükségessége (tesztelés);

Valamilyen oknál fogva az ütemezett feladat nincs engedélyezve a tesztadatbázisban.

Ha ezen helyzetek valamelyike ​​egy olyan ütemezett feladat végrehajtása során merült fel, amely csak a saját adatbázisához van társítva, akkor ez nem jár negatív következményekkel. Egy ütemezett feladat azonban gyakran menthet fájlokat vagy más adatokat, küldhet e-maileket és cserélhet információkat. Ebben az esetben összetéveszthető a „munka” eredménye és a másolatok. Ennek elkerülése érdekében le kell tiltania a "feladatokat" a kiszolgálókezelő konzolon.

Elvégzett és el nem végzett rutinfeladatok

Ütemezett feladatok létrehozásakor fontos ellenőrizni, hogy a feladat ütemezett feladatként végrehajtható-e. Fontos tudni, hogy a szervermodul nem sok olyan dolgot biztosít, ami a kliensen lehetséges. Ezután fontos szerepet játszik ebben egy olyan feladat, amely valamivel foglalkozik, ami kívül esik az alapon - a jogok. Windows felhasználó, amely alatt a feladat végrehajtása történik.

Az utolsó tényező különösen fontos, hiszen ha a modul nem fut le a szerveren, akkor a feladat elvileg nem hajtható végre. Az ellenőrzéshez le kell futtatnia egy feladatot, és ki kell értékelnie az eredményt.

Az aszinkron programozás fogalma

A programozás aszinkron koncepciója az, hogy a függvény végrehajtásának eredménye nem azonnal, hanem egy idő után valamilyen aszinkron (a végrehajtás normál sorrendjét megsértő) hívás formájában érhető el.

Azok. Az aszinkron programozás fő gondolata, hogy egyéni metódushívásokat indítson, és párhuzamosan folytassa a többi munkát anélkül, hogy megvárná a hívások befejezését.

Egyes módszerek, amelyek kivételi valószínűsége minimális, nem igényel aszinkron megközelítést, mások viszont már a fejlesztés kezdetén igénylik.

A grafikonokból látható, hogy a szinkron programozási modellben nincs együttható a hasznos interaktív felhasználói műveleteknek, mivel a rendszer blokkolja a felhasználói felületet, míg az aszinkron modellben a felhasználó továbbra is aktívan dolgozik a rendszerben.

Szinkron végrehajtás esetén egy alkalmazásnak csak egy szála van. Az aszinkron programozási modellel számos párhuzamos szálat futtathat, és futás közben válaszolhat az új felhasználói műveletekre. Miután az n-szál elkészült, megjeleníti az eredményt a képernyőn.

Háttérfeladatok az 1C:Enterprise 8-ban

Az "1C:Enterprise 8"-ban háttérmunkák Az alkalmazási feladatok aszinkron végrehajtására tervezték. Gyermek háttérfeladatokat hozhatnak létre, például a fürt különböző működő szerverein végzett összetett számítások párhuzamosításához kliens-szerver üzemmódban.

Lehetőség van az azonos metódusú háttérfeladatok végrehajtásának korlátozására egy adott alkalmazásattribútum szerint. A háttérmunkák programozott létrehozása és kezelése lehetséges bármilyen felhasználói kapcsolatról információs bázis rendszerek. A háttérfeladat az azt létrehozó felhasználóként fut.

A feladatmechanizmus a munka kliens-szerver és fájl verziójában is működik, de a feladatok adminisztrációs és végrehajtási lehetőségei mindkét verzióban némileg eltérőek.

Kliens-szerver opció

Az ügyfél-kiszolgáló verzióban a feladatokat a feladatütemező ütemezi, amely fizikailag a fürtkezelőben található.

Az ütemező rendszeresen ellenőrzi a háttérfeladatok futtatására vonatkozó kéréseket. Ha vannak olyan feladatok, amelyeket végre kell hajtani, az ütemező meghatározza a legkevésbé terhelt fürt-munkavégző folyamatokat, és egymás után mindegyikhez hozzárendel egy végrehajtást. Így ugyanaz a munkafolyamat potenciálisan több jobot is futtathat párhuzamosan. Miután a munkafolyamat megkapta a feladatot, a munkafolyamat kapcsolatot létesít az információs bázissal, és ezen a kapcsolaton belül hajtja végre a feladatot. A job lefutása után a munkafolyamat értesíti az ütemezőt a job sikeréről vagy kudarcáról.

Fájl opció

A platform 8.3.3.641-es verziójától kezdve a fejlesztők nagymértékben leegyszerűsítették a munkát a háttérfeladatokkal a fájlverzióban.

Korábban a feladatok automatikus végrehajtásához külön, további, feladatütemezőként használt 1C:Enterprise munkamenetet kellett elindítani. És ebben a munkamenetben rendszeresen végre kellett hajtani a beépített nyelv metódusát ExecuteProcessingJobs(). Ez a megközelítés meglehetősen nehézkes, kényelmetlen volt, és erősen korlátozta a háttér- és ütemezett feladatok használatát a munka fájlverziójában.

Most minden sokkal könnyebbé vált. Ha vékony vagy vastag kliens indul, vagy ha a webszerver ügyfélkapcsolatokkal rendelkezik, akkor ezen alkalmazások mindegyike automatikusan elindít egy másik szálat, amely kapcsolódik az adatbázishoz. Ezek a szálak azzal foglalkoznak, hogy háttér- és ütemezett feladatokat hajtanak végre.

Ezen alkalmazások mindegyike saját háttérfeladatait futtatja. Ha egy alkalmazás több háttérfeladatot kezdeményezett, akkor azok egymás után, a beérkezésük sorrendjében kerülnek végrehajtásra.

Nyilvánvaló mínusz 1C háttérmunkák: mivel ezek a szerver oldalon valósulnak meg, nincs lehetőség interaktív munkavégzésre a felhasználóval (pl. nem jeleníthet meg üzenetet vagy más információt, ezeket az adatokat az infobázison belül kell tárolni és valamilyen módon tovább feldolgozni) .

Meg kell jegyezni, hogy a háttérmunkák tisztán programozott objektumok, és nem tárolhatók az adatbázisban. Vagyis csak egy példányt tudunk létrehozni az osztályból, inicializálni a tulajdonságait és futtatni a végrehajtáshoz.

Példa az aszinkron kódvégrehajtásra az 1C:Enterprise 8-ban

„Olyan programokat írni, amelyekben egy függvényhívás eredménye ismeretlen időpontban érkezik, sokkal nehezebb, mint a hagyományos programoké. Beágyazott hívások, hibakezelés, a történések irányítása - minden bonyolultabbá válik ", csak azok mondják ezt, akik nem tudják, hogyan kell megfelelően használni a platform képességeit, de mi nem!

Mutassuk meg az aszinkron kódvégrehajtás egyszerűségét és eleganciáját az 1C:Enterprise 8-ban!

1. lépés. Hozzon létre egy új IB-t a konfigurációfejlesztéshez

2. lépés A konfigurációban adja hozzá az "AsynchronousHandlers" általános modult

Miért adtunk hozzá egy közös modult? Itt minden egyszerű: az aszinkron műveletek végrehajtásához az 1C:Enterprise 8-ban háttérfeladatokat használnak, amelyeknek saját kezelőjük van - „BackgroundTask Manager”. Ennek az objektumnak van egy "Futtatás" metódusa, melynek segítségével elindul a háttérfeladat.

Forduljunk a szintaktikai asszisztenshez.

Ezért szükségünk lesz egy közös modulra.

3. lépés Az "AsynchronousHandlers" általános modulban adjuk hozzá az OurDurationOperation() exportálási eljárást.

Eljárás OurDurationOperation(Duration) Export // Folyamatos művelet szimulációja (Duration sec.). OperationStartDate = AktuálisDátum(); Míg CurrentDate() - MűveletKezdődátum< Длительность Цикл КонецЦикла; КонецПроцедуры

4. lépés A konfigurációhoz hozzáadjuk az „AsynchronousProgrammingConcept” feldolgozást (külső feldolgozást is létrehozhat)

Adjon hozzá egy attribútumot az űrlaphoz:

Időtartam (szám)

és két csapat

Végezzen hosszú műveletet;

Végezzen el egy hosszú távú műveletet aszinkron módon.

5. lépés A szintaxis asszisztens szerint töltse ki az űrlap modult

&AtClient eljárás PerformLongOperation(Command) PerformLongOperationOnServer(); EndProcedure &OnServer Procedure PerformLongOperationOnServer() AsynchronousHandlers.OurLongOperation(Duration); EndProcedure &OnClient Procedure ExecuteLong-runningOperationAsynchronously(Command) ExecuteLong-runningOperationAsynchronouslyOnServer(); EndProcedure &AtServer eljárás PerformLong-runningOperation AsynchronouslyAtServer() Paraméterek = Új tömb; Parameters.Add(Duration); BackgroundJobs.Run("AsynchronousHandlers.Our LongOperation", Parameters, New UniqueIdentifier, "Example of Asynchronous Programming Concept"); Vége eljárás

6. lépés Indítjuk és ellenőrizzük!

Eredmény:

Ha a "Hosszú művelet végrehajtása" gombra kattintunk, akkor a felhasználói felület "Időtartam" másodpercre blokkolva lesz;

Ha a "Régóta futó művelet végrehajtása aszinkron módon" gombra kattintunk, akkor a felhasználói felület nem blokkolódik, a programkód párhuzamosan fut le.

A naplóból ellenőrizhetjük, hogy a programkód aszinkron módon fut-e.

A "háttérben" futó programkódot akkor tudjuk hibakeresni, ha a hibakeresési lehetőségek között beállítjuk a megfelelő tulajdonságot.

Példa aszinkron kódvégrehajtásra az 1C:Enterprise 8-ban BSP használatával

Tekintsünk egy példát az aszinkron programozási koncepció megvalósítására az 1C:Enterprise 8-ban a BSP-ben, az Aktuális ügyek feldolgozásának példáján.

A logika a következő: a program indításakor inicializálódik a kezdőlap munkaterülete, ahol megjeleníthető az „Aktuális ügyek” feldolgozási űrlap. Ez az űrlap tele van a felhasználó aktuális ügyeivel, és ennek kitöltése időbe telik. Ha a fejlesztőknek nem lenne lehetőségük aszinkron kódfuttatásra, akkor a felhasználói felület blokkolva lenne a feldolgozási űrlap kitöltésének idejére!

Elemezzük az űrlap programkódját.

Az „OnCreateOnServer” űrlapesemény „RunBackgroundJob” eljárásnak nevezi – erre van szükségünk.

Anélkül, hogy elvonnánk az árnyalatoktól, elemezzük ezt az eljárást

És itt látjuk, hogy a háttérfeladatkezelőt és annak végrehajtási módszerét használják. Vegye figyelembe, hogy a fejlesztők egyedi háttérfeladat-azonosítót tartanak fenn.

Ehhez a fejlesztők a módszert használják ConnectWaitingHandler(<ИмяПроцедуры>, <Интервал>, <Однократно>).



Egy horog eljárásban Pluggable_CheckJobExecution() a fejlesztők függvényt hívnak Befejezett munka (Munkaazonosító)


Ez a funkció egy háttérfeladat végrehajtását ellenőrzi azonosító alapján.

Meg kell jegyezni, hogy a BSP fejlődött közös modulok hosszú távú szerverműveletek támogatása.

Így az 1C:Enterprise 8 programozás aszinkron koncepciója kissé megnöveli a problémák megoldásának összetettségét a fejlesztő számára, de jelentősen javítja a program funkcionalitását a felhasználó szempontjából.

Az 1C-ben végzett munka során számos rutinművelet van, amelyeket ütemezetten kell elindítani vagy kialakítani egy vagy másik művelet végrehajtásával, például: dokumentumok feladása vagy adatok letöltése az 1C-be egy webhelyről.

Nemrég tettem közzé egy cikket: itt az ideje automatizálni:

Ütemezett és háttérmunkák

A feladatmechanizmust úgy tervezték, hogy bármely alkalmazást vagy funkciót ütemezett vagy aszinkron módon hajtson végre.

A munkamechanizmus a következő feladatokat hajtja végre:

  • Képes rutin eljárások meghatározására a rendszerkonfiguráció szakaszában;
  • Meghatározott műveletek végrehajtása ütemterv szerint;
  • Egy adott eljárás vagy függvény hívásának végrehajtása aszinkron, azaz. anélkül, hogy megvárná annak befejezését;
  • Egy adott munka előrehaladásának nyomon követése és annak befejezettségi állapotának megállapítása (a végrehajtás sikerességét vagy kudarcát jelző érték);
  • Az aktuális feladatok listájának beszerzése;
  • Képes kivárni egy vagy több feladat elvégzését;
  • Jobkezelés (lemondási lehetőség, végrehajtás letiltása stb.).

A munkamotor a következő alkatrészekből áll:

  • Ütemezett feladatok metaadatai;
  • Ütemezett feladatok;
  • Háttérmunkák;
  • Feladat ütemező.

A háttérfeladatokat és az alkalmazásfeladatok aszinkron futtatására tervezték. A háttérfeladatokat a beépített nyelv segítségével valósítják meg.

Ütemezett feladatok és ütemezett feladatok végrehajtására készültek. Az ütemezett feladatok az információs bázisban tárolódnak, és a konfigurációban meghatározott metaadatok alapján jönnek létre. Az ütemezett feladat metaadatai olyan információkat tartalmaznak, mint a név, a módszer, a használat stb.

Az ütemezett jobok ütemezése meghatározza, hogy az ütemezett jobhoz tartozó metódust mikor kell végrehajtani. Az ütemezés általában az infobázisban van beállítva, de beállítható a konfigurációs szakaszban is (például előre meghatározott ütemezett feladatokhoz).

A feladatütemező az ütemezett feladatok végrehajtásának ütemezésére szolgál. Az ütemező minden ütemezett feladatnál rendszeresen ellenőrzi, hogy a Az aktuális dátumés az ütemezett feladat időbeosztása. Ha egyezik, az ütemező ütemezi a feladat futtatását. Ehhez ennek az ütemezett feladatnak megfelelően az ütemező létrehoz egy háttérfeladatot, amely elvégzi a tényleges feldolgozást.

A leírással szerintem ennyi elég is – menjünk tovább a megvalósításhoz:

Ütemezett munka létrehozása

A módszer neve– a háttérfeladatban a megadott ütemezés szerint végrehajtandó eljárás elérési útja. Az eljárásnak egy megosztott modulban kell lennie. Javasoljuk, hogy ne használjon tipikus általános modulokat, hanem készítsen sajátot. Ne felejtse el, hogy a háttérben futó feladatok a szerveren futnak!

Használat- ütemezett feladat használatának jele.

előre meghatározott– jelzi, hogy az ütemezett feladat előre meghatározott-e.

Ha azt szeretné, hogy az ütemezett feladat azonnal működjön az adatbázisba helyezés után, adja meg a jelet előre meghatározott. Ellenkező esetben a „Job Console” feldolgozást kell használnia, vagy fel kell hívnia a feladatot a programozott futtatáshoz.

Újrapróbálkozások száma, amikor egy feladat összeomlik– hányszor indult újra a háttérfeladat, ha hibásan futott le.

Feladat megszakítása újrapróbálkozási időköz– milyen gyakran indul újra a háttérfeladat, ha hibásan hajtották végre.

Ütemezés beállítása

Menetrend feladat teljesítése:

Minden órában, csak egy napÚjrapróbálkozási periódusnapok = 0, újrapróbálkozási periódusDuringDay = 3600
Minden nap naponta egyszerRetry PeriodDays = 1, Retry PeriodDuringDay = 0
Egy nap, egyszerÚjrapróbálkozási időszak Napok = 0
Minden második nap naponta egyszerÚjrapróbálkozási időszak napja = 2
Óránként 01:00 és 07:00 között minden napRetryPeriodDays = 1RepeatPeriodDay = 3600Kezdési idő = 01.00

Vége = 07.00

Minden szombaton és vasárnap 09.00 órakorA napok ismétlése = a hét 1 napja = 6, 7Kezdési idő = 09.00
Minden nap egy hét, elmúlik a hétNapok ismétlése = 1 Hetek periódusa = 2
Egyszer 01:00-korKezdési időpont = 01.00
Minden hónap utolsó napja 9:00.Napok ismétlődési periódusa = 1 napHónap = -1Kezdési idő = 09.00
Minden hónap ötödikén 9:00-korNapok ismétlődése = 1 nap Hónapban = 5 Kezdési idő = 09.00
Minden hónap második szerdája 9:00 órakorIsmétlési periódusnapok = 1 nap hét hónapban = 2 nap hét = 3

Kezdési időpont = 09.00

A háttérfeladatok végrehajtásának sajátosságai fájl és kliens-szerver verziókban

A háttérfeladatok végrehajtásának mechanizmusa a fájl és a kliens-szerver verziókban eltérő.

Fájl formátumban létre kell hoznia egy dedikált ügyfélfolyamatot, amely háttérfeladatokat hajt végre. Ehhez az ExecuteJobProcessing globális kontextusfüggvényt rendszeresen meg kell hívni az ügyfélfolyamatban. Infobázisonként csak egy ügyfélfolyamat dolgozzon fel háttérfeladatokat (és ezért hívjon ezt a funkciót). Ha nem jött létre ügyfélfolyamat a háttérfeladatok feldolgozásához, akkor a jobmotor programozott elérésekor a „Job manager nem aktív” hibaüzenet jelenik meg. Nem ajánlott olyan ügyfélfolyamatot használni, amely más funkciók háttérfeladatait dolgozza fel.

Miután a háttérfeladatokat kezelő kliensfolyamat fut, a többi ügyfélfolyamat lehetőséget kap erre program hozzáférést a háttérmunka mechanizmushoz, azaz. háttérmunkákat futtathat és kezelhet.

Kliens-szerver verzióban A háttérfeladatok végrehajtásához a feladatütemezőt használják, amely fizikailag a fürtkezelőben található. Az összes sorban álló háttérfeladat ütemezője a legkevésbé terhelt munkavégző folyamatot kapja, és azt használja a megfelelő háttérfeladat futtatására. A dolgozói folyamat végrehajtja a munkát, és értesíti az ütemezőt a végrehajtás eredményeiről.

A kliens-szerver verzióban lehetőség van az ütemezett feladatok végrehajtásának blokkolására. Az ütemezett feladatok végrehajtásának blokkolása a következő esetekben történik:

  • Az ütemezett feladatok kifejezett blokkolása van beállítva az információs bázison. A zár a fürtkonzolon keresztül állítható be;
  • Kapcsolódási blokk került beállításra az információs bázison. A zár a fürtkonzolon keresztül állítható be;
  • A SetExclusiveMode() metódus a beépített nyelvből lett meghívva a True paraméterrel;
  • Néhány más esetben (például az adatbázis-konfiguráció frissítésekor).

Ütemezett munkák indításának feldolgozása és megtekintése itt tudod letölteni.

Előfordulhat, hogy a dokumentumkezelésben és a könyvelésben bizonyos feladatokat rendszeresen el kell végezni. Például a huszadik számon. Vagy naponta.

Általában a vállalat igyekszik szabályokat alkotni az ilyen feladatok végrehajtására vonatkozóan - ki, mikor és hogyan végezze el a feladatot, ki irányítsa azt.

Az ilyen feladatokat - szabályozottnak nevezik, vagyis az előírásoknak megfelelően végzik.

Az informatikában a monitorozás gyakran rutinszerű.

Ezt jól tudja a rendszergazda – vannak olyan speciális programok, amelyek időszakonként ellenőrzik a szerverek és a hálózati infrastruktúra állapotát, és SMS-eket vagy e-maileket jelentenek a rendszergazdának.

Hasonló dolgok léteznek a webmesterek számára – a webhely napközbeni elérhetőségének ellenőrzésére.

Az 1C-ben a felügyeleti feladatokat és minden más időszakos feladatot, amelyet ütemezetten automatikusan végre kell hajtani, az 1C ütemezett feladatok mechanizmusa segítségével hajtják végre.

Beszéljünk ma róluk.

Ütemezett feladatok 1C

Az 1C ütemezett feladatok lehetővé teszik, hogy a megszokott módon, de ütemezetten végezzenek.

Maga az 1C rutinfeladat a konfigurátorban a beállítások megadásának és az ütemezés beállításának módja. Az ütemezés egyébként később dinamikusan módosítható az 1C Enterprise módban.

A háttérfeladatok az 1C nyelvű programszövegből tetszőlegesen hozhatók létre ütemezett 1C feladat nélkül - a szerveren történő párhuzamos számításhoz.

Az 1C rutinfeladatok végrehajtása ideiglenesen letiltható - be.

Ütemezett feladat hozzáadása 1C

Az 1C ütemezett feladatok az Általános / Ütemezett feladatok 1C ág konfigurációjában találhatók. Adjunk hozzá egy új ütemezett 1C feladatot, adja meg a nevét.

Az 1C ütemezett feladat tulajdonságában megjelenik a metódus neve, valamint a. A függvény egy közös modulban fog elhelyezkedni, ahol a Szerver jelölőnégyzet be van jelölve a tulajdonságokban, azaz a modult előzetesen hozzá kell adni.

Az ütemezett feladat 1C tulajdonsága - Feladat neve - határozza meg azt a nevet, amelyen a feladat megjelenik a feladatkezelő eszközökben.

Az 1C ütemezett feladat tulajdonsága - Kulcs - lehetővé teszi több különböző 1C ütemezett feladat csoportosítását. Egyszerre csak egy feladat futtatható ugyanazzal a kulcsértékkel. Maga az érték tetszőleges lehet. Az üres értéket a rendszer nem veszi figyelembe az ellenőrzés során (vagyis nem tölti ki).

Az 1C ütemezett feladat tulajdonsága - előre meghatározott - meghatározza, hogy az 1C Enterprise indításakor egy ilyen feladat létrejön, és egyetlen példányban a konfigurátorban megadott ütemezéssel. A nem előre meghatározott feladatok programozottan jelennek meg, amikor az ütemezés megérkezik.

A tipikus konfigurációkban, például a Számvitel 2.0-ban, az olyan rutin 1C feladatok, mint a konfiguráció frissítése és az összegek újraszámítása előre meghatározottak, és például az adatcsere vagy a halasztott mozgások nincsenek előre meghatározottak.

Használat - tartalmazza a feladatot (azaz csak akkor kerül végrehajtásra, ha a Használat jelölőnégyzet be van jelölve).

Összeomlási újrapróbálkozás - amint azt könnyen kitalálhatod, a feladat újraindítását jelenti, ha az első alkalommal nem sikerült sikeresen végrehajtani - jelzi, hogy az összeomlás után hányszor kell újraindítani és hány után.

1C ütemezett feladatkezelés és felügyelet

Az 1C ütemezett feladatok kezeléséhez a Feladatkonzol speciális tipikus feldolgozása van. Ezen is megtalálható.

Ez a feldolgozás az úgynevezett univerzális külsőhöz tartozik standard kezelések 1C, amelyek gyakran nem szerepelnek a konfigurációban, de külön vannak elosztva, például ITS-lemezeken.

A Job Console Processing segítségével:

  • Az 1C ütemezett feladat végrehajtásának engedélyezése/letiltása
  • Az 1C ütemezett feladat (és egyéb paraméterek) ütemezésének hozzárendelése/módosítása
  • Adja meg azt az 1C felhasználót, akinek a nevében az ütemezett 1C feladat végrehajtásra kerül
  • Megtekintés - milyen feladatokat mikor és milyen eredménnyel fejeztek be, hibák az 1C feladatok végrehajtásában
  • Végezzen el egy feladatot.

Adatbázisok és rutinfeladatok másolatai 1C

Ha az 1C szervert használják, akkor a következő helyzet fordul elő:

  • Saját célokra (például programozáshoz) másolatot készítenek a működő adatbázisról
  • Az adatbázis egy példányában folyamatban van a munka, tesztelés és így tovább.
  • Elfelejtik kikapcsolni a rutin 1C feladatokat egy ilyen tesztbázison.

Míg a rutin 1C feladatok csak az információbázisukhoz kapcsolódó feladatokat hajtanak végre, ebben nincs semmi.

Az 1C rutinfeladatok azonban gyakran elmenthetik a fájladatokat más adatbázisokba, cserélhetnek, küldhetnek e-maileket.

Ebben az esetben érdekes keverék alakulhat ki a működő adatbázisban lévő rutin 1C feladatok végrehajtásának eredménye és a másolatok között.

Az 1C rutinfeladatokat a munkabázis másolataihoz le kell tiltani.

Rutinfeladatok teljesítése és nem teljesítése 1C

Az 1C ütemezett feladatok létrehozásakor emlékeznie kell:

  • A feladatok önmagukban futnak – figyelni kell őket
  • A feladatok egy modulban futnak a szerveren
  • A feladatok egy másik Windows-felhasználó alatt, más-más jogokkal kerülnek végrehajtásra.

Először is ellenőriznie kell, hogy a feladat fut-e, és ütemezett 1C feladatként is végrehajtható-e.

Másodszor, a szerver modul azt jelenti, hogy sok olyan dolog, ami a kliensen elérhető, nem elérhető. Például előfordulhat, hogy nem minden dokumentumot lehet csak a szerveren feladni, mivel az algoritmusuk előírhatja, hogy a feladást a felhasználó manuálisan indítsa el, és nem szerver függvények is használhatók, pl.
Figyelmeztetés ("Szia!")

Harmadszor, ha a feladat valamivel az 1C bázison kívül esik, akkor fontossá válnak a Windows-felhasználó jogai, amelyek alapján a feladatot végrehajtják.

A harmadik pont különösen fontos a fejlesztés során. Ha a modul nem hajtható végre a szerveren, akkor a feladat elvileg nem kerül végrehajtásra. Az ellenőrzéshez legalább egyszer le kell futtatnia a feladatot, és látnia kell a „Feladat befejezve” eredményt a Feladatkonzol feldolgozása során.