Routine- und Hintergrundaufgaben. Hintergrundjobs: Funktionen, Fähigkeiten, Einstellungen 1s 8 3 Hintergrundjobs deaktivieren

Nach dem Wechsel von 1C: Accounting 2.0 auf Edition 3.0 wird die Geschwindigkeit der neuen Version langsamer. Wir werden uns in diesem Artikel mit diesem Problem befassen und Schritt-für-Schritt-Anleitungen für Aktionen im Programm 1C: Accounting 3.0 bereitstellen, die dazu beitragen, die Arbeit zu beschleunigen.

Der Grund für die langsame Ausführung des Programms liegt in der Regel darin, dass Routine- und Hintergrundjobs im System laufen. In der Serverversion der Version 3.0-Konfiguration ermöglichen sie Ihnen die Automatisierung vieler Vorgänge, um das Programm außerhalb der Arbeitszeiten aufrechtzuerhalten. Im Dateimodus werden jedoch Hintergrundjobs gestartet, während der Benutzer arbeitet, und daher wird das System langsamer.

Um die Arbeit im Dateimodus 1C: Accounting 3.0 zu beschleunigen, wird empfohlen, Hintergrundjobs zu deaktivieren. Dazu müssen wir uns auf den Abschnitt beziehen Verwaltung. In diesem Abschnitt im Navigationsbereich finden wir Support und Service.

Öffnen Sie den Abschnitt Regulierungsoperationen und klicken Sie dann auf den Link Routine- und Hintergrundaufgaben.

Vor Ihnen erscheint eine Liste, in der aktive (aktivierte) Aufgaben angekreuzt sind.

Um eine Aufgabe zu deaktivieren, müssen Sie sie öffnen und die Option deaktivieren "Ermöglicht", und drücken Sie dann die Taste Speichern und schließen.

Wenn Sie in der Dateiversion des Programms arbeiten, empfehlen wir, alle in der Liste vorhandenen Routineaufgaben zu deaktivieren. Ein weiterer möglicher Grund für die geringe Geschwindigkeit des Systems ist der aktivierte Mechanismus Volltextsuche. Da dieser Mechanismus im Programm 1C: Accounting 3.0 optional ist, kann dies der Fall sein deaktivieren. Dazu müssen Sie zum Abschnitt gehen Regulierungsoperationen deaktivieren Volltext-Datensuche.

Benutzer beschweren sich häufig darüber, dass „1C 8.3 langsam ist“: Dokumentformulare werden langsam geöffnet, die Verarbeitung von Dokumenten dauert lange, das Starten des Programms, die Erstellung von Berichten dauert lange und so weiter.

Darüber hinaus können solche „Störungen“ in verschiedenen Programmen auftreten:

Die Gründe können unterschiedlich sein. Dies sind keine wiederhergestellten Dokumente, ein schwacher Computer oder Server, der 1C-Server ist falsch konfiguriert.

In diesem Artikel möchte ich einen der einfachsten und häufigsten Gründe für ein langsames Programm untersuchen – . Diese Anleitung ist für Benutzer von Dateidatenbanken für 1-2 Benutzer relevant, bei denen kein Wettbewerb um Ressourcen besteht.

Wenn Sie an einer ernsthafteren Optimierung der Client-Server-Optionen für den Systembetrieb interessiert sind, besuchen Sie den Abschnitt der Website.

Wo sind die geplanten Aufgaben in 1C 8.3?

Bevor ich das Programm laden konnte, wurden viele Hintergrundaufgaben in 1C erledigt. Sie können sie anzeigen, indem Sie im Menü „Administration“ auf „Support und Wartung“ klicken:

Holen Sie sich 267 Video-Lektionen zu 1C kostenlos:

So sieht das Fenster mit erledigten Aufgaben aus:

Und hier ist eine vollständige Liste aller geplanten Aufgaben, die gestartet werden:

Zu diesen Aufgaben gehören beispielsweise „“, das Laden verschiedener Klassifikatoren, das Überprüfen der Relevanz der Programmversion usw. Ich habe zum Beispiel für fast alle dieser Aufgaben keine Verwendung. Ich führe keine Währungsaufzeichnungen, ich kontrolliere die Versionen selbst und lade Klassifikatoren nach Bedarf.

Dementsprechend liegt es in meinem (und in den meisten Fällen in Ihrem) Interesse, unnötige Aufgaben zu deaktivieren.

Deaktivieren von Routine- und Hintergrundaufgaben in 1C 8.3

Plattformen: 1C:Enterprise 8.3, 1C:Enterprise 8.2, 1C:Enterprise 8.1
Konfigurationen: Alle Konfigurationen

2012-11-13
53989

Im Dokumentenmanagement gibt es Aufgaben, die eine periodische Ausführung erfordern – zum Beispiel am zwanzigsten oder täglich. In der Regel erstellen Unternehmen zu diesem Zweck bestimmte Regeln, die festlegen, wann und wie die erforderliche Aufgabe ausgeführt werden soll und wer den Prozess steuern soll. Solche Aufgaben werden ordnungsgemäss ausgeführt und als reglementiert bezeichnet.

Nicht selten werden in der IT Überwachungsvorschriften eingehalten. Diese Methode ist Administratoren sehr vertraut, da es zu diesem Zweck spezielle Programme gibt, mit denen die Funktionsfähigkeit der Netzwerkinfrastruktur und der Server regelmäßig überprüft wird. Sie benachrichtigen den Administrator über erkannte Probleme per SMS oder E-Mail.

Für Webmaster gibt es ein ähnliches System, bei dem die Verfügbarkeit der Website innerhalb von 24 Stunden überprüft wird. Mit dem Mechanismus „Routineaufgaben“ in 1C werden Überwachungsaufgaben sowie periodische Aufgaben ausgeführt, die nach einem Zeitplan im automatischen Modus in 1C ausgeführt werden. Schauen wir uns dieses Thema genauer an.

Geplante Aufgaben 1C

Das 1C-Objekt mit der Bezeichnung „Routineaufgaben“ ermöglicht die Verarbeitung von Informationen nicht erst nach Auftreten eines Problems, sondern nach einem Zeitplan. Im Konfigurator ist eine Routineaufgabe eine Möglichkeit, Einstellungen vorzunehmen und einen Zeitplan festzulegen. Darüber hinaus ist es möglich, den Zeitplan im 1C Enterprise-Modus nachträglich zu ändern.

Bei Verwendung einer Dateidatenbank werden Jobs nicht automatisch ausgeführt. Um den Prozess zu starten, müssen Sie eine 1C-Sitzung im 1C Enterprise-Modus starten und darin mit der Ausführung einer Routineaufgabe beginnen.

Alle Standardkonfigurationen verfügen über eine Benutzereinstellung, mit der Sie festlegen können, dass bei der Ausführung von 1C Routineaufgaben automatisch ausgeführt werden.

Die Verwendung der Client-Server-Version von 1C ermöglicht die automatische Ausführung von Aufgaben auf dem Server. Zum geplanten Zeitpunkt wird ein Hintergrundjob gestartet, der die notwendigen Aktionen ausführt. Für die parallele Berechnung auf dem Server kann aus dem Programmtext mithilfe der 1C-Sprache ein Hintergrundjob erstellt werden, ohne einen geplanten 1C-Job zu verwenden. Die Aktion einer geplanten Aufgabe kann über die 1C-Serververwaltungskonsole vorübergehend deaktiviert werden.

Hinzufügen einer geplanten Aufgabe

Routineaufgaben finden Sie unter - Konfigurator - Allgemein - Routineaufgaben. Fügen Sie eine neue „Aufgabe“ hinzu und geben Sie einen Namen ein. Als nächstes müssen Sie zu den „Aufgaben“-Eigenschaften gehen. Und wählen Sie Methodenname aus. Hier müssen Sie eine Handlerfunktion angeben, genau wie es in einem Ereignisabonnement der Fall ist. Diese Funktion befindet sich im allgemeinen Modul und ist in den Eigenschaften mit einem „Vogel“-Server gekennzeichnet. Das bedeutet, dass das benötigte Modul vorab hinzugefügt werden muss.

Der Name der Aufgabe in den Eigenschaften einer geplanten Aufgabe ermöglicht es Ihnen, ihren Namen zu definieren, der dann in den Aufgabenverwaltungstools angezeigt wird. Die Funktion „Eigenschaften von Routineaufgaben“ ist eine Taste, mit der Sie mehrere verschiedene Routineaufgaben gruppieren können. In diesem Fall kann jeweils nur eine Aufgabe mit demselben Schlüsselwert gestartet werden. Der Wert kann hier beliebig sein, muss aber ausgefüllt werden, da ein leerer Wert vom System nicht berücksichtigt wird.

In der Accounting Edition 2.0, bei der es sich um eine Standardkonfiguration handelt, sind Routineaufgaben wie: „Neuberechnung von Summen“ und „Aktualisierung der Konfiguration“ vordefiniert, aber wie zum Beispiel „Verzögerte Bewegungen“ und „Datenaustausch“ sind nicht vordefiniert.

Bei abnormaler Beendigung erneut versuchen – startet den aktuellen Job neu. Entwickelt, um einen Start durchzuführen, der beim ersten Mal nicht erfolgreich war. Hier wird angezeigt, wie oft Sie neu starten können und nach welcher Zeit nach einem abnormalen Abbruch verstrichen ist.

Überwachungs- und Verwaltungstools für Routineaufgaben 1C

Für die Verwaltung einer Routineaufgabe ist die Standardverarbeitung „Task Console“ zuständig, die sich auf den ITS-Platten befindet. Diese Verarbeitung ist eine universelle externe Standardverarbeitung 1C. In der Regel ist es nicht in der Konfiguration enthalten, sondern muss separat erworben werden.

Mit seiner Hilfe können Sie folgende Aktionen ausführen:

Eine geplante Aufgabe ein- und ausschalten;

Zeitpläne zuweisen und ändern;

Geben Sie den Benutzernamen an, mit dem die Routineaufgabe ausgeführt werden soll.

Erledigte Aufgaben (wann und mit welchem ​​Ergebnis) sowie Aufgabenfehler sehen;

Routineaufgaben und Kopien von Datenbanken

Bei Verwendung des Servers 1C kann folgender Moment auftreten:

Zum Programmieren müssen Sie eine Kopie der Arbeitsdatenbank erstellen.

Die Notwendigkeit, in Kopien der Datenbank zu arbeiten (Testen);

Aus irgendeinem Grund war die geplante Aufgabe nicht in der Testdatenbank enthalten.

Tritt eine dieser Situationen bei der Ausführung von Aufgaben einer Routineaufgabe ein, die nur mit deren Datenbank verknüpft sind, hat dies keine negativen Folgen. Aber oft kann es sich bei einer Routineaufgabe um das Speichern von Dateien oder anderen Daten, das Versenden von E-Mails und den Austausch handeln. In diesem Fall kann es zu Verwechslungen zwischen den Ergebnissen des „Jobs“ und den Kopien kommen. Um dies zu verhindern, müssen Sie „Aufgaben“ in der Serververwaltungskonsole deaktivieren.

Abgeschlossene und nicht abgeschlossene Regulierungsaufgaben

Bei der Erstellung von Routineaufgaben ist es wichtig zu prüfen, ob die Aufgabe als Routineaufgabe ausgeführt werden kann. Es ist wichtig zu wissen, dass das Servermodul nicht viele Dinge tut, die auf dem Client möglich sind. Weiter eine Aufgabe, die sich mit etwas beschäftigt, das außerhalb der Datenbank liegt – dabei spielen die Rechte des Windows-Benutzers, unter dem die Aufgabe ausgeführt wird, eine wichtige Rolle.

Der letzte Faktor ist besonders wichtig, da die Aufgabe grundsätzlich nicht abgeschlossen werden kann, wenn das Modul nicht auf dem Server ausgeführt wird. Zur Überprüfung müssen Sie eine Aufgabe ausführen und das Ergebnis auswerten.

Das Problem ist nicht neu und wird von Zeit zu Zeit in verschiedenen 1C-Foren diskutiert. Die einfachste und beliebteste Lösung besteht darin, den 1C-Server neu zu starten. Leider ist diese Option nicht immer akzeptabel oder höchst unerwünscht. In einem solchen Fall gibt es heiklere Lösungen.

Hier Eine dieser Methoden in Form einer kurzen Schritt-für-Schritt-Anleitung:

1. Mithilfe der Verwaltungskonsole des 1C-Servers suchen wir nach problematischen fein neuer Job in der Verbindungsliste (z. B. anhand der Startzeit seiner Operation, verglichen mit der Startzeit eines regulierten Jobs in der Jobkonsole). Wir definierender Arbeitsprozess, in dem sich die blockierte Verbindung befindet.

2. Öffnen Sie die Eigenschaften dieses Prozesses und markieren Sie ihn als nicht verwendet (wenn nur ein Prozess verwendet wird, müssen Sie zunächst einen neuen Arbeitsprozess erstellen, damit alle aktiven Verbindungen wieder eine Verbindung zu ihm herstellen). Wir erinnern uns an die PID-Nummer dieses Prozesses.


3. Wir warten, bis alle aktuellen Verbindungen vom deaktivierten Prozess zu einem der verwendeten wechseln. Letztlich sollen in unserem Prozess nur noch problematische Zusammenhänge übrig bleiben, die wir beseitigen wollen.

4. Suchen Sie auf einem Computer mit einem 1C-Server mithilfe des Task-Managers anhand der PID des deaktivierten Arbeitsprozesses nach dem entsprechenden Prozess rphost.exe und löschen Sie ihn.

5 . Für alle Fälle können Sie den 1C-Workflow, den wir deaktiviert haben, über den Administrator löschen. Konsole und erstellen Sie ggf. eine neue.

6. Bereit. Sie können sich bei der Jobkonsole anmelden und die Funktionalität des geplanten Jobs überprüfen.

Bei der Arbeit in 1C müssen viele Routinevorgänge gestartet oder geplant werden, um die eine oder andere Aktion auszuführen, zum Beispiel: Dokumente veröffentlichen oder Daten von einer Website in 1C laden.

Ich habe kürzlich einen Artikel gepostet: Es ist Zeit, dies zu automatisieren:

Routine- und Hintergrundaufgaben

Die Job-Engine ist darauf ausgelegt, beliebige Anwendungen oder Funktionen nach einem Zeitplan oder asynchron auszuführen.

Der Task-Mechanismus löst die folgenden Probleme:

  • Fähigkeit, Regulierungsverfahren in der Systemkonfigurationsphase zu definieren;
  • Ausführung vorgegebener Aktionen gemäß Zeitplan;
  • Aufrufen einer bestimmten Prozedur oder Funktion asynchron, d. h. ohne auf seine Vollendung zu warten;
  • Verfolgen des Fortschritts einer bestimmten Aufgabe und Ermitteln ihres Abschlussstatus (ein Wert, der angibt, ob sie erfolgreich war oder nicht);
  • Einholen einer Liste aktueller Aufgaben;
  • Möglichkeit, auf den Abschluss einer oder mehrerer Aufgaben zu warten;
  • Auftragsverwaltung (Möglichkeit der Stornierung, Sperrung der Ausführung usw.).

Der Jobmechanismus besteht aus folgenden Komponenten:

  • Metadaten von Routineaufgaben;
  • Regelmäßige Aufgaben;
  • Hintergrundjobs;
  • Aufgabenplaner.

Hintergrundjobs sind für die asynchrone Ausführung von Anwendungsaufgaben konzipiert. Hintergrundaufgaben werden mithilfe der integrierten Sprache implementiert.

Geplante Aufgaben & dienen dazu, Anwendungsaufgaben nach einem Zeitplan auszuführen. Routineaufgaben werden in der Informationsbasis gespeichert und auf Basis der in der Konfiguration definierten Metadaten erstellt. Metadaten einer Regulierungsaufgabe enthalten Informationen wie Name, Methode, Verwendung usw.

Eine Routineaufgabe verfügt über einen Zeitplan, der festlegt, zu welchen Zeiten die mit der Routineaufgabe verknüpfte Methode ausgeführt werden muss. Der Zeitplan wird in der Regel in der Informationsbasis festgelegt, kann aber auch in der Konfigurationsphase (z. B. für vordefinierte Routineaufgaben) festgelegt werden.

Der Taskplaner dient der Planung der Ausführung von Routineaufgaben. Für jeden geplanten Job prüft der Scheduler regelmäßig, ob das aktuelle Datum und die aktuelle Uhrzeit mit dem Zeitplan des geplanten Jobs übereinstimmen. Wenn es übereinstimmt, weist der Planer dieser Aufgabe die Ausführung zu. Dazu erstellt der Scheduler für diese geplante Aufgabe eine Hintergrundaufgabe, die die eigentliche Verarbeitung durchführt.

Ich denke, das reicht mit der Beschreibung – kommen wir nun zur Umsetzung:

Eine Routineaufgabe erstellen

Methodenname– Pfad zur Prozedur, die in einem Hintergrundjob nach einem vorgegebenen Zeitplan ausgeführt wird. Die Prozedur muss sich in einem gemeinsamen Modul befinden. Es wird empfohlen, keine gängigen Standardmodule zu verwenden, sondern eigene zu erstellen. Vergessen Sie nicht, dass Hintergrundjobs auf dem Server laufen!

Verwendung– Zeichen für die Verwendung einer Routineaufgabe.

Vorbestimmt– gibt an, ob die Routineaufgabe vorgegeben ist.

Wenn Sie möchten, dass die Routineaufgabe sofort nach der Platzierung in der Datenbank ausgeführt wird, geben Sie das Attribut an Vorbestimmt. Andernfalls müssen Sie die „Job Console“-Verarbeitung verwenden oder die Ausführung der Aufgabe programmgesteuert auslösen.

Anzahl der Wiederholungsversuche, wenn eine Aufgabe abnormal beendet wird– wie oft der Hintergrundjob neu gestartet wurde, wenn er mit einem Fehler ausgeführt wurde.

Wiederholungsintervall, wenn der Job abnormal beendet wird– wie oft der Hintergrundjob neu gestartet wird, wenn er mit einem Fehler abgeschlossen wurde.

Einen Zeitplan aufstellen

Zeitplan Erledigung der Aufgabe:

Jede Stunde, nur einen TagRepeatDays-Zeitraum = 0, RepeatDays-Zeitraum = 3600
Jeden Tag einmal am TagRepeatDays-Zeitraum = 1, RepeatDays-Zeitraum = 0
Ein Tag, einmalPeriodRepeatDays = 0
Jeden zweiten Tag einmal am TagPeriodRepeatDays = 2
Täglich stündlich von 01:00 bis 07:00 UhrPeriodRepeatDays = 1RepeatPeriodDuringDay = 3600StartTime = 01.00

Endzeit = 07.00 Uhr

Jeden Samstag und Sonntag um 09.00 UhrRepeatDays Period = 1WeekDays = 6, 7StartTime = 09.00
Eine Woche lang jeden Tag, eine Woche auslassenPeriodRepeatDays = 1PeriodWeeks = 2
Einmal um 01.00 UhrStartzeit = 01.00 Uhr
Letzter Tag jedes Monats um 9:00 Uhr.PeriodRepeatDays = 1DayInMonth = -1StartTime = 09.00
Fünfter Tag jedes Monats um 9:00 UhrPeriodRepeatDays = 1DayInMonth = 5StartTime = 09.00
Jeden zweiten Mittwoch im Monat um 9:00 UhrPeriodRepeatDays = 1DayWeekMonth = 2DaysWeek = 3

Startzeit = 09.00 Uhr

Funktionen zur Ausführung von Hintergrundjobs in Datei- und Client-Server-Varianten

Die Mechanismen zur Ausführung von Hintergrundjobs in der Datei- und der Client-Server-Version sind unterschiedlich.

In Dateiversion Sie müssen einen dedizierten Clientprozess erstellen, der Hintergrundjobs ausführt. Dazu muss der Clientprozess regelmäßig die globale Kontextfunktion ExecuteJobProcessing aufrufen. Nur ein Client-Prozess pro Infobase sollte Hintergrundjobs verarbeiten (und dementsprechend diese Funktion aufrufen). Wenn kein Client-Prozess zur Verarbeitung von Hintergrundjobs erstellt wurde, wird beim programmgesteuerten Zugriff auf die Job-Engine die Fehlermeldung „Job Manager ist nicht aktiv“ angezeigt. Es wird nicht empfohlen, einen Clientprozess zu verwenden, der Hintergrundjobs für andere Funktionen verarbeitet.

Sobald der Client-Prozess, der Hintergrundjobs verarbeitet, gestartet ist, können andere Client-Prozesse programmgesteuert auf die Hintergrundjob-Engine zugreifen, d. h. kann Hintergrundjobs ausführen und verwalten.

In der Client-Server-Version Zur Ausführung von Hintergrundjobs wird ein Taskplaner verwendet, der sich physisch im Clustermanager befindet. Für alle in der Warteschlange befindlichen Hintergrundjobs ruft der Scheduler den am wenigsten belasteten Arbeitsprozess ab und verwendet ihn, um den entsprechenden Hintergrundjob auszuführen. Der Arbeitsprozess führt den Job aus und benachrichtigt den Scheduler über die Ausführungsergebnisse.

In der Client-Server-Version ist es möglich, die Ausführung von Routineaufgaben zu blockieren. In folgenden Fällen wird die Ausführung von Routineaufgaben blockiert:

  • Auf der Informationsbasis wurde eine explizite Blockierung von Routineaufgaben installiert. Die Sperre kann über die Cluster-Konsole gesetzt werden;
  • In der Infobase gibt es einen Verbindungsblock. Die Sperre kann über die Cluster-Konsole gesetzt werden;
  • Die SetExclusiveMode()-Methode mit dem True-Parameter wurde aus der integrierten Sprache aufgerufen;
  • In einigen anderen Fällen (z. B. beim Aktualisieren der Datenbankkonfiguration).

Verarbeitung des Starts und Anzeige geplanter Aufgaben können Sie hier herunterladen.