{% extends 'layouts/app.html.twig' %} {% block title %}Logi dostawców | micey-projects{% endblock %} {% block app_content %} {% include 'partials/_flash_messages.html.twig' %}
Dostawcy

Kolejka i logi dostawców

Każdy job wysyłki jest próbą w tabeli fulfillment_dispatch_attempts. Nowe próby są przetwarzane natychmiast po utworzeniu, a ten widok pokazuje również zaległe, przerwane i zakończone operacje.

Wyczyść
Dispatch

Kolejka i wszystkie próby

queued powinien być stanem krótkotrwałym. Jeżeli pozostaje dłużej, request został przerwany, lock jest zajęty albo jest to próba utworzona przed poprawką automatycznego procesora.

{% if can_dispatch %}
{% endif %}
Oczekujące: {{ dispatch_counts.queued|default(0) }} Przetwarzanie: {{ dispatch_counts.processing|default(0) }} Sukces: {{ dispatch_counts.success|default(0) }} Błąd: {{ dispatch_counts.failed|default(0) }} Zablokowane: {{ dispatch_counts.blocked|default(0) }}
{% for attempt in dispatch_attempts %} {% set fulfillment = attempt.fulfillment %} {% set order = fulfillment ? fulfillment.salesOrder : null %} {% set provider = fulfillment ? fulfillment.provider : null %} {% set statusClass = attempt.status == 'success' ? 'is-green' : (attempt.status in ['failed', 'blocked'] ? 'is-red' : 'is-muted') %} {% else %} {% endfor %}
DataDostawcaZamówienieRealizacjaPróba / jobTrybStatusHTTP / wynikJSON / odpowiedźAkcja
{{ attempt.startedAt ? attempt.startedAt|date('d.m.Y H:i:s') : '—' }} {{ provider ? provider.name : '—' }} {% if order %}#{{ order.id }}{% else %}—{% endif %} {% if fulfillment %}#{{ fulfillment.id }}{% else %}—{% endif %} #{{ attempt.attemptNumber }}
{{ attempt.jobId ?: 'bez job_id' }}{% if attempt.retryOfAttempt %}
retry próby #{{ attempt.retryOfAttempt.attemptNumber }}{% endif %}
{{ attempt.mode }} {{ attempt.status }} {% if attempt.responseCode %}HTTP {{ attempt.responseCode }}{% elseif attempt.transportError %}brak HTTP{% elseif attempt.mode == 'file_test' and attempt.status == 'success' %}Plik zapisany{% else %}—{% endif %} {% if attempt.responseDurationMs is not null %}
{{ attempt.responseDurationMs }} ms{% endif %}
{% if attempt.outboxRelativePath %}{{ attempt.outboxRelativePath }}{% elseif attempt.transportError %}{{ attempt.transportError }}{% elseif attempt.responseMessage %}{{ attempt.responseMessage }}{% elseif attempt.status == 'queued' %}Oczekuje na procesor.{% elseif attempt.status == 'processing' %}Procesor wykonuje operację.{% else %}—{% endif %} {% if can_dispatch and attempt.status == 'queued' %}
{% elseif fulfillment %} Szczegóły {% else %}—{% endif %}
Brak prób dispatchu pasujących do filtrów.
Historia zdarzeń

Logi dostawców

{{ logs|length }} wpisów
{% for log in logs %} {% set details = log.technicalDetailsArray %} {% set http = details.http_status|default(null) %} {% set mode = details.mode|default('—') %} {% set badgeClass = mode == 'file_test' and log.context == 'dispatch.file_test_saved' ? 'ops-badge--success' : (http and http >= 200 and http < 300 ? 'ops-badge--success' : (http and http >= 400 ? 'ops-badge--danger' : 'ops-badge--warning')) %} {% else %} {% endfor %}
DataZamówienieRealizacjaPróbaTrybZdarzenieHTTPStatusKomunikat
{{ log.createdAt ? log.createdAt|date('d.m.Y H:i:s') : '—' }} {% if details.order_id|default(null) %}#{{ details.order_id }}{% else %}—{% endif %} {% if details.fulfillment_id|default(null) %}#{{ details.fulfillment_id }}{% else %}—{% endif %} {% if details.attempt_id|default(null) and details.fulfillment_id|default(null) %}#{{ details.attempt_number|default(details.attempt_id) }}{% else %}{{ details.attempt_number|default('—') }}{% endif %} {{ mode }} {{ log.context }} {% if mode == 'file_test' and log.context == 'dispatch.file_test_saved' %}Plik zapisany{% elseif http and http >= 200 and http < 300 %}{{ http }} · Sukces{% elseif http and http >= 400 and http < 500 %}{{ http }} · Błąd żądania{% elseif http and http >= 500 %}{{ http }} · Błąd dostawcy{% elseif log.context == 'dispatch.transport_failed' %}brak HTTP · Błąd połączenia{% else %}—{% endif %} {{ details.provider_status|default(log.level) }} {{ log.message }}
Brak logów pasujących do filtrów.
{% endblock %}