Limitarea fluxului de lucru SharePoint 2013 și performanța în SharePoint și Project

Introducere

Acest articol conține informații despre scenariile de limitare și limitările pentru fluxurile de lucru care utilizează tipul de platformă de flux de lucru SharePoint 2013 în SharePoint și Project în Microsoft 365.

Notă

Fluxurile de lucru SharePoint 2010 au fost retrase de la 1 august 2020 pentru entitățile găzduite noi și eliminate din entitățile găzduite existente la 1 noiembrie 2020.  Dacă utilizați fluxuri de lucru SharePoint 2010, vă recomandăm să migrați la Power Automate sau la alte soluții acceptate. Pentru mai multe informații, consultați Retragerea fluxului de lucru SharePoint 2010.

Mai multe informații

Pentru a afla mai multe despre limitarea în SharePoint, accesați Cum să: Evitați aglomerările sau blocajele în SharePoint.

Pentru a afla mai multe despre limitele mesajelor de e-mail pentru fluxurile de lucru SharePoint, accesați eroarea "Limita zilnică de e-mail a fost depășită și fluxul dvs. de lucru a fost suspendat" din SharePoint.

Activitatea de flux de lucru SharePoint 2013 poate fi reglementată de două niveluri de limitare:

  • Limitarea SharePoint
  • Limitarea serviciului de flux de lucru

Limitarea serviciului de flux de lucru

Limitarea se efectuează pentru a permite utilizarea rezonabilă a resurselor. De asemenea, protejează mediul împotriva fluxurilor de lucru dăunătoare și a fluxurilor de lucru care nu respectă cele mai bune practici. Limitarea serviciului de flux de lucru nu este controlată de SharePoint. Serviciul de flux de lucru și SharePoint sunt două servicii independente și fiecare serviciu limitează solicitările în interesul stării generale de funcționare a serviciilor. În serviciul flux de lucru, limitarea se efectuează la nivelul de domeniu al fluxului de lucru care se aliniază cu site-urile SharePoint. Limitarea nu este luată în considerare la nivel global. În schimb, fiecare serviciu back-end al fluxului de lucru urmărește independent utilizarea unui flux de lucru. Pot exista unul sau mai multe fluxuri de lucru într-un domeniu de flux de lucru. Limitarea fluxului de lucru este dinamică și va fi reevaluată periodic, după domeniul fluxului de lucru și după back-end-ul serviciului de flux de lucru. 

De asemenea, serviciul Flux de lucru limitează numărul de solicitări de ieșire pe care le poate genera o singură instanță de flux de lucru. Într-o perioadă de 24 de ore, o singură instanță de flux de lucru poate genera până la 5.000 de solicitări de ieșire. După ce sunt generate 5.000 de solicitări de ieșire într-o perioadă de 24 de ore, fluxul de lucru este suspendat de serviciul Flux de lucru.

Pagina Stare flux de lucru pentru fluxul de lucru va conține informații despre fluxul de lucru suspendat. În acest scenariu, balonul de informații pentru starea internă va afișa următorul mesaj:

  • Instanța a depășit cota de solicitări http de ieșire pentru o perioadă de timp de 1.00:00:00. Limita de 5.000 de solicitări a fost atinsă la <timp>.

    NOTĂ: Substituentul <de timp> reprezintă timpul necesar pentru a atinge limita de 5.000 de solicitări pentru fluxul dvs. de lucru.

Puteți relua instanța suspendată a fluxului de lucru făcând clic pe Reluare pentru fluxul de lucru sau utilizând modelul de obiect client pentru fluxul de lucru SharePoint după ce au trecut 24 de ore. Acest lucru trebuie să se întâmple înainte ca fluxul de lucru să fie încheiat.

Dacă fluxul de lucru depășește limita de utilizare a CPU, pagina Stare flux de lucru pentru fluxul de lucru va conține informații despre fluxul de lucru suspendat. În acest scenariu, balonul de informații pentru starea internă va afișa următorul mesaj:

  • Instanța fluxului de lucru a depășit limita de utilizare CPU a limitei de limitare 00:00:01.2000000 și nu a putut fi descărcată, deoarece nu era persistentă.

Instanțele de flux de lucru suspendate vor fi închise după 10 zile. Balonul de informații pentru starea internă va afișa următorul mesaj dacă fluxul de lucru este încheiat:

  • System.Activities.Statements.WorkflowTerminatedException: instanța a fost mutată din starea Suspendată în starea Terminat, deoarece a expirat.

Un flux de lucru încheiat va fi golit în cele din urmă. După ce un flux de lucru încheiat este curățat, se va afișa următorul mesaj:

  • Ne pare rău, a apărut o problemă.
    Nu putem găsi acest flux de lucru. Instanțele finalizate sunt șterse automat

Domenii de flux de lucru

Un domeniu de flux de lucru este definit ca un site dintr-o colecție de site-uri. De exemplu, următorul URL este pentru o colecție de site-uri rădăcină și este considerat un domeniu de flux de lucru:

    https://contoso.sharepoint.com/sites/rootsite

Un exemplu de domeniu de flux de lucru diferit care se află în aceeași colecție de site-uri este următorul exemplu. Însă domeniul acestui flux de lucru se află într-un subsite.

    https://contoso.sharepoint.com/sites/rootsite/subsite

Ce este o solicitare?

Fluxurile de lucru SharePoint 2013 sunt construite pe baza modelului de programe de completare pentru SharePoint și utilizează API-uri REST pentru a interacționa cu datele SharePoint. Pentru a afla mai multe, accesați Familiarizați-vă cu serviciul REST SharePoint 2013.

O solicitare este un apel de rețea de la serviciul de flux de lucru la un punct final REST API SharePoint sau Project. Nu există nicio diferență între tipul de solicitare sau răspunsul la o solicitare dată. O acțiune și activitățile sale de compunere nu contribuie la numărul de solicitări decât dacă solicitarea implică o API REST SharePoint 2013. De exemplu, acțiunea Log to History List poate genera cinci sau mai multe solicitări pentru o operațiune de bună funcționare. De asemenea, logica de reîncercare este încorporată în fluxurile de lucru în cazul în care ceva nu merge bine. Acest lucru poate genera solicitări suplimentare.

Multe acțiuni generează solicitări, iar solicitările pot fi minimizate utilizând cele mai bune practici. De exemplu, puteți utiliza o singură acțiune Actualizare element listă în loc de mai multe acțiuni Setare câmp în Element curent pentru a reduce numărul de solicitări efectuate de domeniul de lucru și a obține totuși aceleași rezultate. 

Recomandări de proiectare a fluxului de lucru

Există numeroase modalități de a genera o mulțime de solicitări într-un flux de lucru care pot duce la limitare. Iată câteva exemple generale:

  • Un singur flux de lucru cu buclă agresivă sau mai multe fluxuri de lucru cu buclă agresivă
  • Un flux de lucru asociat cu o listă sau o bibliotecă în timp ce conținutul este migrat în SharePoint.
  • Versiunile anterioare problematice ale fluxului de lucru care au fost corectate și care continuă să ruleze instanțe de flux de lucru care au configurația problematică până când fluxul de lucru este încheiat.

Limitarea domeniului de flux de lucru impusă de serviciul de flux de lucru trebuie să permită scenarii tipice de cazuri de utilizare a fluxului de lucru. Totuși, pe măsură ce logica unui flux de lucru devine mai sofisticată, fluxul de lucru poate depăși limitele sigure.

Următoarele scenarii specifice de flux de lucru vor duce, de asemenea, la limitare.

Scenariul 1: un flux de lucru care se repetă pentru a monitoriza modificările

De exemplu, puteți să căutați actualizări pentru un element în loc să așteptați să fie actualizat.

Scenariul 2: Utilizarea unui flux de lucru pentru a executa algoritmi complecși

Fluxurile de lucru sunt menite să gestioneze procese umane, bazate pe documente și nu să expedieze activități de calcul semnificative.

Scenariul 3: Rularea mai multor fluxuri de lucru care utilizează activitatea "Așteaptă evenimentul în elementul de listă"

În acest scenariu, fiecare flux de lucru va asculta modificările din lista țintă. Dacă există multe fluxuri de lucru în rulare, fiecare flux de lucru va trebui să reacționeze la evenimentul ridicat și, eventual, să apeleze înapoi în SharePoint pentru a efectua unele activități. 

NOTĂ: Acest lucru se poate întâmpla și dacă există multe modificări într-o listă pentru care un flux de lucru este configurat să pornească atunci când un element este creat sau modificat.

Alternative la scenariul 1: Un flux de lucru care se ciclează pentru a monitoriza modificările

Opțiunea 1: utilizați programe de completare SharePoint și receptori externi de evenimente

Proiectarea fluxului de lucru trebuie reevaluată și ar trebui utilizată o abordare diferită a proiectării. Programele de completare SharePoint sau receptorii de evenimente externe sunt mai potriviți pentru această activitate.

Opțiunea 2: adăugați o acțiune de pauză

Puteți îmbunătăți oarecum proiectarea fluxului de lucru adăugând o întârziere (adică o acțiune de pauză). Acest lucru ar trebui să reducă traficul care este generat. Cu toate acestea, nu schimbă deficiențele generale ale acestui design.

Opțiunea 3: Utilizați activitatea "Se așteaptă modificarea câmpului în elementul curent"

În loc să căutați modificări utilizând o buclă, este mai bine să utilizați receptorii impliciți de evenimente. Un flux de lucru poate fi pornit atunci când un element este creat sau modificat. Executarea mai multor instanțe de flux de lucru în loc să aveți un flux de lucru într-o buclă agresivă este o abordare mai bună. Condițiile din fluxul de lucru pot fi configurate să lucreze doar atunci când este necesar.

Caseta de dialog Opțiuni Start

O singură instanță de flux de lucru a unui flux de lucru poate rula la un moment dat. 

O altă abordare este să utilizați modificarea câmpului Așteaptă în activitatea elementului curent

Proiectarea fluxului de lucru poate utiliza o coloană de opțiuni care are mai multe valori pentru a conduce executarea fluxului de lucru. Fluxul de lucru va fi reluat doar atunci când alege o opțiune potrivită de către un utilizator final. Acest lucru poate împiedica buclarea agresivă și începerea instanțelor inutile ale fluxului de lucru. Fluxul de lucru rulează atunci când elementul este pregătit, în loc să execute sau să pornească mai multe instanțe.

Puteți monitoriza mai multe valori din mai multe câmpuri utilizând mai multe blocuri paralele. Fluxul de lucru poate să aștepte o anumită stare, apoi să continue să execute pe o cale dată, ca în exemplul următor:

  1. Creați o variabilă de tip boolean .

    Caseta de dialog Editare variabilă

  2. Setați valoarea la Nu.

  3. Inserați un bloc paralel, faceți clic cu butonul din dreapta pe bloc, apoi faceți clic pe Proprietăți complexe.

    Caseta de dialog Proprietăți

  4. În lista verticală, selectați variabila pe care ați creat-o la pasul 1.

  5. Inserați două blocuri paralele în blocul paralel inserat care are proprietatea CompletionCondition .
     

  6. În primul dintre cele două blocuri paralele pe care le-ați inserat la pasul 5, inserați opțiunea Așteptați modificarea câmpului în activitatea Element curent . Modificați activitatea astfel încât să monitorizeze o coloană de opțiuni. Nu monitorizați alegerea implicită.

  7. Setați variabila de flux de lucru care este utilizată pentru a opri celelalte blocuri paralele la Da.

  8. Repetați pașii 1-7 pentru celelalte valori din coloana Opțiune.

  9. Mutați celelalte părți ale fluxului de lucru original într-o poziție aflată după blocurile paralele.

Când unul dintre blocurile paralele imbricate are toate activitățile executate, blocul paralel părinte va încheia celelalte activități din celelalte blocuri paralele. Acest lucru permite continuarea fluxului de lucru. Blocuri paralele imbricate sunt monitorizate de blocul paralel părinte utilizând o variabilă.

Opțiunea 4: Pornirea unui flux de lucru SharePoint 2010 din fluxul de lucru SharePoint 2013

Puteți utiliza tipul de platformă de flux de lucru SharePoint 2010 pentru a efectua o parte din munca pe care o efectuează tipul Platformă de fluxuri de lucru SharePoint 2013. Acest lucru poate reduce numărul de solicitări.

Mai exact, un flux de lucru SharePoint 2010 poate fi pornit pentru a monitoriza modificările de câmp utilizând activitatea Așteaptă modificare câmp în Element curent sau pentru a efectua multe alte operațiuni de bază.

Alternativă la scenariul 2: Utilizarea unui flux de lucru pentru a executa algoritmi complecși

Dacă soluția dvs. necesită activități de calcul semnificative, ar trebui să luați în considerare dezvoltarea unui program de completare pentru SharePoint. Pentru mai multe informații, accesați Programe de completare SharePoint.

Încă aveți nevoie de ajutor? Accesați Comunitatea Microsoft.