Bakgrundsuppgifter: funktioner, möjligheter, inställningar. Köra en bakgrundsuppgift programmatiskt 1s hanterade formulär och ställer in en bakgrundsuppgiftsfil

Förmodligen var varje 1C 8.3-programmerare förr eller senare tvungen att ställa in utförandet av vissa uppgifter enligt ett schema. Nedan ska jag ge detaljerad beskrivning dessa mekanismer hoppas jag att det blir användbar information för nybörjare programmerare 1C. Detta är mycket bekvämt, eftersom det inte kräver mänskliga handlingar, den schemalagda uppgiften konfigureras en gång och fungerar enligt ditt schema.

Detaljerade instruktioner med ett exempel finns nedan.

Vad är schemalagda och bakgrundsuppgifter i 1C

  • Schemalagda uppdragär en speciell 1C enterprise 8.3-mekanism utformad för att utföra en specifik åtgärd på ett givet schema.
  • Bakgrundsjobb- objekt genererade av en schemalagd uppgift som direkt utför den inneboende åtgärden utan deltagande av användaren eller programmeraren 1C 8.2.

Mekanismen för schemalagda jobb och bakgrundsjobb fungerar i klient-serverdriftsläget (SQL), tack vare funktionaliteten hos DBMS. Om du har en fildatabas så kan uppgiften också konfigureras, men på ett lite annorlunda sätt.

Ställa in bakgrundsuppgifter i klient-serverdriftsläget 1C

Till att börja med, låt oss skapa ett nytt metadataobjekt - en schemalagd uppgift. Jag kommer att döpa min uppgift till "Loading Currency Rates". Tänk på egenskapspaletten för det här konfigurationsobjektet:

Få 267 1C-videolektioner gratis:

  • Metodnamn— sökväg till proceduren som kommer att utföras i bakgrundsuppgiften enligt det angivna schemat. Förfarandet måste vara i en delad modul. Det rekommenderas att inte använda standard, utan att skapa dina egna. Glöm inte att bakgrundsjobb körs på servern!
  • Användande- ett tecken på användningen av en schemalagd uppgift.
  • förbestämd- Indikerar om det schemalagda jobbet är fördefinierat. Om du vill att den schemalagda uppgiften ska fungera direkt efter att den placerats i databasen, anger du denna flagga. Annars måste du använda "Jobbkonsol"-bearbetningen eller anropa jobbet för att köras programmatiskt.
  • Antal återförsök när ett jobb kraschar— hur många gånger bakgrundsjobbet startades om om det kördes med ett fel.
  • Försöksintervall för att avbryta jobb- hur ofta bakgrundsuppgiften kommer att startas om om den slutfördes med ett fel.

Och den mest intressanta miljön - Schema:

Här kan du ställa in intervallet för att starta proceduren som anges i fältet "Metodnamn". Låt oss säga att jag ställer in

Uppmärksamhet! Glöm inte att inaktivera blockeringen av schemalagda jobb och bakgrundsjobb på DBMS-nivå!

Detta kan göras i administrationsverktyget för klient-serverversionen eller när du skapar en ny databas:

Ställa in schemalagda uppgifter i filläge 1C

I filläge är det något svårare att ställa in sådana uppgifter. För en sådan uppgift måste en separat session av 1C-programmet startas. Ofta löses detta av institutionen för den "tekniska" användaren, vars session alltid körs.

I filläget sker initieringen av det schemalagda jobbet när metoden "ExecuteJobProcessing()" startas.

För en specifik användare är det möjligt att konfigurera denna metod för att köras med en annan metod −

ConnectWaitingHandler( <ИмяПроцедуры>, <Интервал>, <Однократно>).

  • Procedurnamn— Namnet på den procedur som är ansluten som väntehanterare. Namnet på den exporterade proceduren för en hanterad applikationsmodul (vanlig applikationsmodul) eller global delad modul. Förfarandet måste finnas på klienten.
  • Intervall— Tid mellan utförandet av operationer i sekunder.
  • en gång- hur man slutför uppgiften, en gång eller inte.

ConnectWaitingHandler, 3600 );

En två minuters video som visar hur man ställer in en schemalagd uppgift i 1C-konfiguratorn:

1C Enterprise har schemalagda och bakgrundsuppgifter i sina konfigurationer. Dessa jobb är schemalagda enligt schemat för varje jobb. Vissa av uppgifterna utförs initialt på en timer efter ett visst antal sekunder, vilket kan påverka prestandan negativt och tydligt störa arbetet i infobasen.

För att redigera schemalagda uppgifter och bakgrundsuppgifter på administrationsfliken, välj "Vanliga uppgifter och bakgrundsuppgifter" till vänster. En lista över befintliga uppgifter, deras status, schema och annan information visas.

Genom att klicka ett par gånger på någon av uppgifterna öppnas ett fönster med egenskaperna för denna uppgift. Här kan du ändra många inställningar efter din smak, inklusive schemat för denna uppgift. För att inaktivera en uppgift måste kryssrutan "Aktiverad" vara avmarkerad. Men om uppgiften ska köras enligt ett schema är det extremt viktigt att använda en separat användare med fullständiga rättigheter för alla bakgrundsuppgifter.

Uppgiftsschemaparametrarna är mycket flexibla, men det är ändå önskvärt att ställa in alla uppgifter på ett sådant sätt att endast 1 uppgift körs samtidigt och helst under icke-arbetstid. Ett undantag kan endast vara synkronisering av flera relaterade infobaser, till exempel företagsredovisning + löne- och personalhantering.

Bank Classifier Ladda ner - söndag 04:30
Laddar växelkurser - varje dag; 7:00
Extrahera texter - varje dag; 6:00.
Meddelanden för arbetsflödeskonton - varje dag; var 10800:e sek.
Uppdatera enheter - varje dag; från 5:00:00 en gång om dagen
Uppdatera revisorns uppgifter - varje dag; från 6:30:00 en gång om dagen
Uppdatering av PPD-index (fulltextsökning) - varje dag; var 10800:e sek.
Samlad ombyggnad - varje dag, per dag i veckan [lördag]; från 3:00:00 en gång om dagen
Omräkning av de aktuella värdena för de relativa datumen för förbudet mot ändringar - varje dag; från 7:00:00 en gång om dagen
Sammanfoga index PPD (fulltextsökning) - varje dag; från 4:00:00 en gång om dagen
Radering av föråldrad synkroniseringsinformation - varje dag; från 3:30:00 en gång om dagen
Ställa in perioden för beräknade totaler - varje dag, den 5:e dagen i månaden; från 1:00:00 en gång om dagen

Begreppet asynkron programmering

Det asynkrona programmeringskonceptet är att resultatet av funktionsexekveringen inte är tillgängligt omedelbart, utan efter en tid i form av något asynkront (som bryter mot den normala exekveringsordningen) anrop.

De där. Huvudidén med asynkron programmering är att starta individuella metodanrop och fortsätta att göra annat arbete parallellt utan att vänta på att samtalen ska avslutas.

Vissa metoder, vars undantagssannolikhet är minimerad, behöver inte ett asynkront tillvägagångssätt, men andra kräver det i början av utvecklingen.

Som framgår av graferna finns det ingen koefficient för användbara interaktiva användaråtgärder i den synkrona programmeringsmodellen, eftersom systemet blockerar användargränssnittet, medan i den asynkrona modellen fortsätter användaren att aktivt arbeta i systemet.

När du kör synkront har en applikation bara en tråd. Med den asynkrona programmeringsmodellen kan du köra många parallella trådar och svara på nya användaråtgärder när de körs. Efter att n-tråden är klar visar du resultatet på skärmen.

Bakgrundsuppgifter i 1C:Enterprise 8

I 1C:Enterprise 8 är bakgrundsjobb utformade för att utföra applikationsuppgifter asynkront. De kan skapa underordnade bakgrundsjobb, till exempel för att parallellisera komplexa beräkningar över olika fungerande servrar i klustret i ett klient-serverläge.

Det är möjligt att begränsa utförandet av bakgrundsjobb som har samma metoder, enligt ett visst applikationsattribut. Programmatiskt skapande och hantering av bakgrundsjobb är möjligt från vilken användarkoppling som helst informationsbas system. Bakgrundsjobbet körs som användaren som skapade det.

Uppgiftsmekanismen fungerar både i klient-server- och filversionerna av arbetet, men möjligheterna för administration och exekvering av uppgifter i båda versionerna är något olika.

Klient-server-alternativ

I klient-serverversionen schemaläggs uppgifter av uppgiftsschemaläggaren, som fysiskt finns i klusterhanteraren.

Schemaläggaren kontrollerar regelbundet efter förfrågningar om att köra bakgrundsjobb. Om det finns jobb som behöver köras bestämmer schemaläggaren de minst belastade klusterarbetarprocesserna och tilldelar sekventiellt en uppgift till var och en av dem att utföra. Således kan samma arbetsflöde potentiellt köra flera jobb parallellt. Efter att uppgiften har tagits emot av arbetsflödet upprättar arbetsflödet en anslutning till infobasen och utför uppgiften inom denna anslutning. Efter att jobbet har körts meddelar arbetsflödet schemaläggaren om jobbets framgång eller misslyckande.

Filalternativ

Från och med version 8.3.3.641 av plattformen har utvecklarna avsevärt förenklat arbetet med bakgrundsjobb i filversionen.

Tidigare krävde automatisk exekvering av uppgifter att man startade en separat, ytterligare 1C:Enterprise-session som användes som en uppgiftsschemaläggare. Och i denna session var det nödvändigt att regelbundet utföra metoden för det inbyggda språket ExecuteProcessingJobs(). Detta tillvägagångssätt var ganska besvärligt, obekvämt och begränsade kraftigt användningen av bakgrundsuppgifter och schemalagda uppgifter i filversionen av arbetet.

Nu har allt blivit mycket lättare. Om en tunn eller tjock klient startar, eller om webbservern har klientanslutningar, startar var och en av dessa applikationer automatiskt en annan tråd med en anslutning till databasen. Dessa trådar är engagerade i det faktum att de utför bakgrundsuppgifter och schemalagda uppgifter.

Var och en av dessa applikationer kör sina egna bakgrundsjobb. Om en applikation har initierat flera bakgrundsjobb, exekveras de sekventiellt i den ordning som de tas emot.

Uppenbara minus 1C bakgrundsjobb: eftersom de exekveras på serversidan finns det ingen möjlighet till interaktivt arbete med användaren (du kan till exempel inte visa ett meddelande eller annan information; all denna data måste lagras i infobasen och bearbetas vidare på något sätt) .

Det bör noteras att bakgrundsjobb är rent programmatiska objekt och inte kan lagras i databasen. Det vill säga, vi kan bara skapa en instans av klassen, initiera dess egenskaper och köra den för exekvering.

Ett exempel på exekvering av asynkron kod i 1C:Enterprise 8

”Att skriva program där resultatet av ett funktionsanrop kommer vid en okänd tidpunkt är mycket svårare än vanliga program. Kapslade samtal, felhantering, kontroll över vad som händer - allt blir mer komplicerat, ”bara de som inte vet hur man korrekt använder plattformens kapacitet kommer att säga det, men inte vi!

Låt oss demonstrera all enkelhet och elegans med exekvering av asynkron kod i 1C:Enterprise 8!

Steg 1. Låt oss skapa en ny IB för konfigurationsutveckling

Steg 2 I konfigurationen, lägg till den allmänna modulen "AsynchronousHandlers"

Varför lade vi till en gemensam modul? Allt är enkelt här: för att utföra asynkrona operationer i 1C:Enterprise 8 används bakgrundsuppgifter, som har sin egen chef - "BackgroundTask Manager". Detta objekt har en "Kör"-metod, med hjälp av vilken bakgrundsuppgiften startas.

Låt oss vända oss till syntaxassistenten.

Därför kommer vi att behöva en gemensam modul.

Steg 3 I den allmänna modulen "AsynchronousHandlers" låt oss lägga till exportproceduren OurDurationOperation()

Procedur OurDurationOperation(Duration) Export // Simulering av en kontinuerlig åtgärd (Duration sek.). OperationStartDate = CurrentDate(); While CurrentDate() - OperationStartDate< Длительность Цикл КонецЦикла; КонецПроцедуры

Steg 4 Vi lägger till bearbetningen "AsynchronousProgrammingConcept" till konfigurationen (du kan skapa en extern bearbetning)

Lägg till ett attribut i formuläret:

Varaktighet (antal)

och två lag

Utför en lång operation;

Utför en långvarig operation asynkront.

Steg 5 Enligt syntaxassistenten, fyll i formulärmodulen

&Vid klienten Procedur Utför en lång operation (kommando) Utför en lång operation på servern (); EndProcedure &OnServer Procedure PerformLongOperationOnServer() AsynchronousHandlers.OurLongOperation(Duration); EndProcedure &OnClient Procedur ExecuteLong-runningOperationAsynchronously(Command) ExecuteLong-runningOperationAsynchronouslyOnServer(); EndProcedure &AtServer Procedur PerformLong-runningOperation AsynchronouslyAtServer() Parametrar = New Array; Parameters.Add(Duration); BackgroundJobs.Run("AsynchronousHandlers.Our LongOperation", Parameters, New UniqueIdentifier, "Exempel på asynkront programmeringskoncept"); Slutprocedur

Steg 6 Vi lanserar och kollar!

Resultat:

Om vi ​​klickar på knappen "Utför en lång operation" blockeras användargränssnittet under "Varaktighet" sekunder;

Om vi ​​klickar på knappen "Utför en långvarig operation asynkront" blockeras inte användargränssnittet och programkoden exekveras parallellt.

Vi kan verifiera att programkoden körs asynkront genom att titta på loggen.

Vi kan felsöka programkoden som körs i "bakgrunden" om vi ställer in lämplig egenskap i felsökningsalternativen.

Ett exempel på exekvering av asynkron kod i 1C:Enterprise 8 med BSP

Låt oss överväga ett exempel på implementeringen av det asynkrona programmeringskonceptet i 1C:Enterprise 8 i BSP med hjälp av exemplet på att behandla aktuella frågor.

Logiken är följande: under programstart initieras arbetsytan startsida, där du kan visa bearbetningsformuläret "Aktuellt". Detta formulär är fyllt med användarens aktuella förhållanden och det tar tid att fylla i det. Om utvecklare inte hade förmågan att exekvera kod asynkront, skulle användargränssnittet blockeras så länge bearbetningsformuläret fylls i!

Låt oss analysera formulärets programkod.

Formhändelsen "OnCreateOnServer" kallar proceduren "RunBackgroundJob" - det här är vad vi behöver.

Utan att bli distraherad av nyanserna analyserar vi denna procedur

Och här ser vi att bakgrundsjobbhanteraren och dess Execute-metod används. Observera att utvecklare har ett unikt bakgrundsjobb-ID.

För att göra detta använder utvecklare metoden ConnectWaitingHandler(<ИмяПроцедуры>, <Интервал>, <Однократно>).



I en krokprocedur Pluggable_CheckJobExecution() utvecklare anropar en funktion JobCompleted(JobId)


Denna funktion kontrollerar utförandet av ett bakgrundsjobb med ID.

Det bör noteras att BSP har utvecklat gemensamma moduler för att stödja driften av långsiktig serverdrift.

Således ökar det asynkrona konceptet med programmering i 1C:Enterprise 8 något komplexiteten för att lösa problem för utvecklaren, men förbättrar programmets funktionalitet avsevärt ur användarens synvinkel.

Vissa uppgifter inom dokumenthantering och redovisning kan behöva utföras med jämna mellanrum. Till exempel på de tjugonde siffrorna. Eller dagligen.

Vanligtvis försöker företaget skapa regler om genomförandet av sådana uppgifter – vem, när och hur ska utföra uppgiften, vem som ska kontrollera den.

Sådana uppgifter kallas - reglerade, det vill säga utförs enligt föreskrifterna.

Inom IT är övervakning ofta rutin.

Det är välkänt systemadministratör- det finns specialprogram, som med jämna mellanrum kontrollerar tillståndet för servrar och nätverksinfrastruktur och skickar SMS eller e-post administratör.

Liknande saker finns för webbansvariga - att kontrollera tillgängligheten på webbplatsen under dagen.

I 1C utförs övervakningsuppgifter och alla andra periodiska uppgifter som ska utföras automatiskt enligt ett schema med hjälp av 1C Scheduled Tasks-mekanismen.

Låt oss prata om dem idag.

Schemalagda uppgifter 1C

Schemalagda uppgifter 1C är en som låter dig utföra som den gör, men enligt schemat.

Själva 1C-rutinuppgiften i konfiguratorn är ett sätt att specificera inställningar och ställa in ett schema. Förresten, schemat kan ändras dynamiskt senare i 1C Enterprise-läget.

Bakgrundsuppgifter kan skapas från programtexten på 1C-språket godtyckligt utan en schemalagd 1C-uppgift - för parallell beräkning på servern.

Utförandet av rutinuppgifter 1C kan tillfälligt inaktiveras - in.

Lägga till en schemalagd uppgift 1C

Schemalagda uppgifter 1C finns i konfigurationen i grenen Allmänt / Schemalagda uppgifter 1C. Låt oss lägga till en ny schemalagd uppgift 1C, ange dess namn.

I egenskapen för den schemalagda uppgiften 1C anges namnet på metoden, liksom i. Funktionen kommer att finnas i en gemensam modul med kryssrutan Server markerad i egenskaperna, det vill säga modulen måste läggas till i förväg.

Egenskapen för den schemalagda uppgiften 1C - Uppgiftsnamn - bestämmer namnet under vilket uppgiften kommer att visas i uppgiftshanteringsverktygen.

Egenskapen för den schemalagda uppgiften 1C - Nyckel - låter dig gruppera flera olika schemalagda uppgifter 1C. Endast en uppgift med samma nyckelvärde kan köras samtidigt. Värdet i sig kan vara godtyckligt. Ett tomt värde tas inte med i beräkningen vid kontroll (det vill säga det anses inte fyllt).

Egenskapen för den schemalagda uppgiften 1C - Fördefinierad - bestämmer att när du startar 1C Enterprise kommer en sådan uppgift att skapas och i en enda kopia med det schema som anges i konfiguratorn. Icke-fördefinierade uppgifter visas programmatiskt när schemat kommer.

typiska konfigurationer, till exempel Accounting Revision 2.0, är ​​sådana rutinmässiga 1C-uppgifter som konfigurationsuppdatering och omräkning av resultat fördefinierade, men som datautbyte eller uppskjutna rörelser är inte fördefinierade.

Användning - inkluderar uppgiften (det vill säga, den kommer endast att köras om kryssrutan Användning är markerad).

Försök att krascha igen - som du lätt kan gissa betyder att du startar om uppgiften om den inte kunde slutföras framgångsrikt första gången - det anges hur många gånger som ska startas om och efter hur många efter kraschen.

1C schemalagd uppgiftshantering och övervakning

För att hantera schemalagda uppgifter 1C finns det en speciell typisk bearbetning av Task Console. Den finns även på .

Denna bearbetning avser den så kallade universella externa typiska 1C-behandlingen, som ofta inte ingår i konfigurationen, utan distribueras separat, till exempel på ITS-diskar.

Med Job Console Processing kan du:

  • Aktivera/inaktivera utförandet av den schemalagda uppgiften 1C
  • Tilldela / ändra schemat för den schemalagda uppgiften 1C (och andra parametrar)
  • Ange den 1C-användare för vars räkning den schemalagda uppgiften 1C kommer att utföras
  • Visa - vilka uppgifter som slutfördes när och med vilket resultat, fel vid slutförande av 1C-uppgifter
  • Utföra en uppgift.

Kopior av databaser och rutinuppgifter 1C

Om server 1C används, uppstår följande situation:

  • För sina egna ändamål (till exempel för programmering) görs en kopia av arbetsdatabasen
  • I en kopia av databasen bearbetas, testas och så vidare.
  • Det glöms bort att stänga av rutinmässiga 1C-uppgifter i en sådan testbas.

Medan rutinmässiga 1C-uppgifter utför uppgifter som endast är relaterade till deras infobas, så finns det inget i detta.

Men ofta kan 1C rutinuppgifter spara alla fildata till andra databaser, utbyta, skicka e-post.

I det här fallet kan en intressant blandning uppstå mellan resultatet av att utföra rutinmässiga 1C-uppgifter i arbetsdatabasen och kopior.

1C rutinuppgifter för i kopior av arbetsbasen måste inaktiveras i.

Uppfyllelse och icke-uppfyllelse av rutinuppgifter 1C

När du skapar schemalagda uppgifter 1C måste du komma ihåg:

  • Uppgifter som sköts av sig själva - de måste övervakas
  • Uppgifter körs i en modul på servern
  • Uppgifter utförs under en annan Windows-användare, under olika rättigheter.

Först måste du kontrollera att uppgiften körs och kan utföras som en schemalagd 1C-uppgift.

För det andra innebär servermodulen att många saker som är tillgängliga på klienten inte är tillgängliga. Till exempel, ibland kan inte alla dokument bara läggas upp på servern, eftersom deras algoritm kan tillhandahålla att inlägget startas manuellt av användaren och icke-serverfunktioner kan användas, till exempel
Alert ("Hej!")

För det tredje, om uppgiften handlar om något utanför 1C-basen, blir rättigheter viktiga. Windows-användare Under vilken jobbet körs.

Den tredje punkten är särskilt viktig i utvecklingen. Om modulen inte kan köras på servern kommer uppgiften i princip inte att exekveras. För att kontrollera måste du köra uppgiften minst en gång och se resultatet "Task completed" i bearbetningen av Task Console.

När man för register blir det ofta nödvändigt att regelbundet utföra vissa åtgärder utan att användaren behöver ingripa. Schemalagda uppgifter och bakgrundsuppgifter i 1C är de mekanismer som tillhandahålls för detta ändamål i den åttonde versionen av programmet och tillåter:

  • Ställ in snabb leverans av dokument;
  • Beräkna saldon och summor;
  • Säkerställ regelbundna inlägg;
  • Kontrollera och radera irrelevant data.

Bakgrund och schemalagd uppgift - vad är det och var är det konfigurerat

En schemalagd uppgift är en mekanism inbäddad i 1C som låter dig konfigurera och, i enlighet med det fastställda schemat och frekvensen, utföra en viss sekvens av åtgärder.

En bakgrundsuppgift är en åtgärd som genereras av en schemalagd operation och kräver inte direkt deltagande av användaren.

En schemalagd uppgift skapas i konfiguratorläget:

  • I konfigurationsträdfönstret hittar vi motsvarande gren (Fig. 1);
  • Klicka på knappen Lägg till;
  • I fönstret som öppnas måste du ange ett namn som gör att du kan identifiera objektet i konfigurationen;

Fig.2

  • Mittemot inskriptionen "Schema" (Fig. 2) finns en inskription "Öppna", genom att klicka på vilket öppnar ett fönster för inställning av tid och frekvens för hanterarens utförande (Fig. 3);

Fig.3

  • Det är också nödvändigt att fylla i "Metodnamn" (namnet på den procedur som anropas från den allmänna modulen och som beskriver programmets beteendealgoritm kommer att anges här);
  • Fälten "Namn" och "Nyckel" låter dig gruppera objekt;
  • Den kryssade rutan "Användning" indikerar aktiviteten för den schemalagda operationen;
  • "Fördefinierad" bör ställas in om hanteraren ska startas omedelbart efter att den lagts till i databasen, annars kan den startas från motsvarande bearbetning (mer om det nedan);
  • Parametrarna Antal återförsök och Intervall för återförsök beskriver programmets beteende i händelse av att ett undantag inträffar när ett bakgrundsjobb körs.

Så med hjälp av mekanismen för schemalagda operationer kan du ställa in schemat och huvudåtgärderna för bakgrundsjobb. Låt oss nu titta på deras funktioner.

Funktioner av bakgrundsjobb

Huvudfunktionen hos denna mekanism är att bakgrundsprocessen körs asynkront.

Vad betyder det här. Faktum är att med en synkron arbetsmodell, om någon algoritm exekveras, är användargränssnittet blockerat. I vårt fall kan användaren fortsätta att ange och redigera data, även om proceduren körs. Den asynkrona programmeringsmodellen involverar separering av beräkningstrådar.

Således kan bakgrundsjobb i 1C generera sina egna processer och distribuera beräkningar över olika servrar som ingår i samma kluster.

Funktioner för att arbeta i klient-server-läge

  • Exekveringsschemaläggning och kontroll utförs av en schemaläggare från serverklustret;
  • Om en begäran om exekvering visas, letar schemaläggaren efter klusterarbetarprocesser med en minimal belastning och distribuerar uppgifter till dem för exekvering;
  • Varje process kan utföra flera parallella beräkningar;
  • Efter att uppgiften anländer ansluter processen till databasen och exekverar algoritmen i den;
  • Processen rapporterar resultaten till schemaläggaren.

Bakgrundsjobb i filläge

Före plattformsversion 8.3.3.641 uppvisade arbetet med bakgrundsjobb i filversionen vissa svårigheter:

  1. Det var nödvändigt att starta en separat session som skulle fungera dygnet runt och ersätta schemaläggaren;
  2. Den här sessionen borde ha kört metoden ExecuteJobProcessing() med jämna mellanrum.

Efter uppdateringen initierar varje start av de tjocka och tunna klienterna, om AllowExecuteScheduledJobs-nyckeln anges i startinställningarna (fig. 4) i fältet "Ytterligare", en ytterligare anslutningstråd till databasen, som inte påverkar användarens fungerar på vilket sätt som helst, men utför bara bakgrundsuppgifter.

Fig.4

Det bör beaktas att även i filversionen av arbetet tillåter inte bakgrundsprocesser interaktivt arbete med användaren (tjänstmeddelanden, varningar, frågor kommer inte att visas). Det vill säga, de måste kodas som om de skulle köras på serversidan.

Hur man inaktiverar schemalagda uppgifter

Oanvända uppgifter kan inaktiveras genom att helt enkelt avmarkera kryssrutan "Använd" i objektets egenskaper.

Om administratören behöver förbjuda användningen av schemalagda operationer och bakgrundsoperationer för hela databasen som helhet (till exempel lagras flera databaser på servern, varav endast en är den huvudsakliga, och resten används endast för utveckling) måste du använda databasadministrationsverktyget. Du kan också markera rutan "Ställ in blockering av schemalagda uppgifter" i databasen som skapats på servern.

Dessutom har ITS-diskar en speciell bearbetning "Job Console", som låter dig redigera schemat för bakgrundsprocesser och ändra deras aktivitet.