pgbus 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6daa2060697774db5018b30b2d7b08ef4f3f962332e627f8fa90ce49cfe136da
4
- data.tar.gz: 9fe928dba25e277212093a6e1a0443c6451336b2bc996e06375d88eaaf2dd148
3
+ metadata.gz: cba1a8a8eaf3c351cd3c42a2af74a0355fdafd2dc26727227ee667037dfb0ed9
4
+ data.tar.gz: 7fea4f964087fa5fcfb7381dc449344ff156d5607d49be3b855569ce5fafb12b
5
5
  SHA512:
6
- metadata.gz: 1977d39318814b8878eef04065e4abf2a73588005542e5b15b679248848fd470c11b685a3a7c2d89d26ecbee0b897fa2968d498b757b0435bf213eba61e48c3d
7
- data.tar.gz: 0d999aa34400b0a9f85e030d9cd5ac9f5bb0b57e467eee50615a3cf6f19ee70f8c33da688b3d78abf575c4c053e0dab7ecc3fbc2c841390c97d9089b2f238135
6
+ metadata.gz: 10b2ca7d95e05b23597578f7b91e52a76a450df4a30b80f38289048ad440153349388112a029c451d899a1118710e8d0e46c0453d1278f6c385f27b99299aa54
7
+ data.tar.gz: 51adda432c7ec2cf2977e62e37432982954e8da267e4687bc42303d690e3adda492bcb9663769259f29f419cc9ba0a2eb616993f8b78338725cdf6396ccaa9e2
data/Rakefile CHANGED
@@ -31,7 +31,12 @@ namespace :bench do
31
31
  ruby "benchmarks/memory_profile.rb"
32
32
  end
33
33
 
34
- desc "Run all benchmarks"
34
+ desc "Run integration benchmarks (requires PGBUS_DATABASE_URL)"
35
+ task :integration do
36
+ ruby "benchmarks/integration_bench.rb"
37
+ end
38
+
39
+ desc "Run all benchmarks (unit-level, no DB required)"
35
40
  task all: %i[serialization client executor]
36
41
  end
37
42
 
@@ -10,7 +10,7 @@ module Pgbus
10
10
  # Atomic dequeue: DELETE the highest-priority non-expired row with FOR UPDATE SKIP LOCKED.
11
11
  # Returns { queue_name:, payload: } or nil.
12
12
  def self.release_next!(concurrency_key)
13
- now = Time.now.utc
13
+ now = Time.current
14
14
  result = connection.exec_query(
15
15
  <<~SQL,
16
16
  DELETE FROM pgbus_blocked_executions
@@ -16,42 +16,50 @@ module Pgbus
16
16
  # Atomically try to acquire a lock.
17
17
  # Cleans up expired locks for this key first (crash recovery at acquire time).
18
18
  # Returns true if acquired, false if already locked.
19
- def self.acquire!(lock_key, job_class:, ttl:, job_id: nil, state: "queued", owner_pid: nil, owner_hostname: nil)
19
+ #
20
+ # Uses raw SQL on the hot path to minimize ActiveRecord allocations
21
+ # (~29 objects vs ~304 per acquire+release cycle with AR query builder).
22
+ def self.acquire!(lock_key, job_class:, ttl:, job_id: nil, state: "queued", owner_pid: nil, owner_hostname: nil) # rubocop:disable Naming/PredicateMethod
23
+ expires_at = Time.current + ttl
24
+
20
25
  # Remove any expired lock for this key inline (last-resort TTL recovery)
21
- where(lock_key: lock_key).where("expires_at < ?", Time.current).delete_all
26
+ connection.exec_delete(
27
+ "DELETE FROM #{table_name} WHERE lock_key = $1 AND expires_at < $2",
28
+ "JobLock Expire", [lock_key, Time.current]
29
+ )
22
30
 
23
- result = insert(
24
- {
25
- lock_key: lock_key, job_class: job_class, job_id: job_id,
26
- state: state, owner_pid: owner_pid, owner_hostname: owner_hostname,
27
- expires_at: Time.current + ttl
28
- },
29
- unique_by: :lock_key
31
+ result = connection.exec_query(
32
+ "INSERT INTO #{table_name} (lock_key, job_class, job_id, state, owner_pid, owner_hostname, expires_at) " \
33
+ "VALUES ($1, $2, $3, $4, $5, $6, $7) ON CONFLICT (lock_key) DO NOTHING RETURNING id",
34
+ "JobLock Acquire", [lock_key, job_class, job_id, state, owner_pid, owner_hostname, expires_at]
30
35
  )
31
36
  result.rows.any?
32
- rescue ActiveRecord::RecordNotUnique
33
- false
34
37
  end
35
38
 
36
39
  # Transition a queued lock to executing state and claim ownership.
37
40
  # Called when a worker starts executing a job that was locked at enqueue time.
38
41
  def self.claim_for_execution!(lock_key, owner_pid:, owner_hostname:, ttl:)
39
- where(lock_key: lock_key).update_all(
40
- state: "executing",
41
- owner_pid: owner_pid,
42
- owner_hostname: owner_hostname,
43
- expires_at: Time.current + ttl
42
+ connection.exec_update(
43
+ "UPDATE #{table_name} SET state = $1, owner_pid = $2, owner_hostname = $3, expires_at = $4 " \
44
+ "WHERE lock_key = $5",
45
+ "JobLock Claim", ["executing", owner_pid, owner_hostname, Time.current + ttl, lock_key]
44
46
  )
45
47
  end
46
48
 
47
49
  # Release a lock by key.
48
50
  def self.release!(lock_key)
49
- where(lock_key: lock_key).delete_all
51
+ connection.exec_delete(
52
+ "DELETE FROM #{table_name} WHERE lock_key = $1",
53
+ "JobLock Release", [lock_key]
54
+ )
50
55
  end
51
56
 
52
57
  # Check if a lock is currently held (regardless of expiry — reaper handles orphans).
53
58
  def self.locked?(lock_key)
54
- where(lock_key: lock_key).exists?
59
+ result = connection.select_value(
60
+ "SELECT 1 FROM #{table_name} WHERE lock_key = $1 LIMIT 1", "JobLock Check", [lock_key]
61
+ )
62
+ !result.nil?
55
63
  end
56
64
 
57
65
  # Reap orphaned locks: locks in 'executing' state whose owner_pid
@@ -1,13 +1,6 @@
1
1
  ---
2
2
  da:
3
3
  pgbus:
4
- dialogs:
5
- cancel: Annuller
6
- confirm: Bekræft
7
- confirm_title: Er du sikker?
8
- delete: Slet
9
- delete_title: Slet
10
- ok: OK
11
4
  dashboard:
12
5
  processes_table:
13
6
  empty: Ingen processer kører
@@ -90,6 +83,13 @@ da:
90
83
  payload: Indhold
91
84
  retry: Forsøg igen
92
85
  title: 'DLQ-besked #%{id}'
86
+ dialogs:
87
+ cancel: Annuller
88
+ confirm: Bekræft
89
+ confirm_title: Er du sikker?
90
+ delete: Slet
91
+ delete_title: Slet
92
+ ok: OK
93
93
  events:
94
94
  index:
95
95
  processed_empty: Ingen begivenheder behandlet endnu
@@ -157,6 +157,10 @@ da:
157
157
  jobs:
158
158
  enqueued_table:
159
159
  arguments: Argumenter
160
+ discard: Kassér
161
+ discard_all: Kassér alle
162
+ discard_all_confirm: Kassér alle ventende jobs og frigiv deres låse? Dette kan ikke fortrydes.
163
+ discard_confirm: Kassér denne besked?
160
164
  empty: Ingen job i kø
161
165
  full_json_payload: Fuld JSON-payload
162
166
  headers:
@@ -176,13 +180,9 @@ da:
176
180
  scheduled: 'Planlagt:'
177
181
  timezone: 'Tidszone:'
178
182
  visible_at: 'Synlig fra:'
179
- title: Job i kø
180
- discard: Kassér
181
- discard_confirm: Kassér denne besked?
182
- discard_all: Kassér alle
183
- discard_all_confirm: Kassér alle ventende jobs og frigiv deres låse? Dette kan ikke fortrydes.
184
183
  retry: Prøv igen
185
184
  retry_confirm: Nulstil synlighedstimeout og prøv igen?
185
+ title: Job i kø
186
186
  failed_table:
187
187
  discard: Kassér
188
188
  discard_confirm: Kassér dette job?
@@ -282,9 +282,13 @@ da:
282
282
  pid: PID
283
283
  status: Status
284
284
  queues:
285
+ destroy:
286
+ success: Køen %{name} slettet.
285
287
  index:
286
288
  title: Køer
287
289
  queues_list:
290
+ delete: Slet
291
+ delete_confirm: Slet køen %{name} permanent? Dette kan ikke fortrydes.
288
292
  empty: Ingen køer fundet
289
293
  headers:
290
294
  actions: Handlinger
@@ -294,16 +298,12 @@ da:
294
298
  queue: Kø
295
299
  total_ever: Total nogensinde
296
300
  visible: Synlig
297
- delete: Slet
298
- delete_confirm: Slet køen %{name} permanent? Dette kan ikke fortrydes.
299
301
  pause: Pause
300
302
  pause_confirm: Pause behandling i %{name}?
301
303
  paused: Pauset
302
304
  purge: Rens
303
305
  purge_confirm: Rens alle beskeder fra %{name}?
304
306
  resume: Genoptag
305
- destroy:
306
- success: Køen %{name} slettet.
307
307
  show:
308
308
  delete_confirm: Slet denne kø permanent? Dette kan ikke fortrydes.
309
309
  delete_queue: Slet kø
@@ -1,13 +1,6 @@
1
1
  ---
2
2
  de:
3
3
  pgbus:
4
- dialogs:
5
- cancel: Abbrechen
6
- confirm: Bestätigen
7
- confirm_title: Sind Sie sicher?
8
- delete: Löschen
9
- delete_title: Löschen
10
- ok: OK
11
4
  dashboard:
12
5
  processes_table:
13
6
  empty: Keine Prozesse laufen
@@ -90,6 +83,13 @@ de:
90
83
  payload: Nutzlast
91
84
  retry: Erneut versuchen
92
85
  title: 'DLQ Nachricht #%{id}'
86
+ dialogs:
87
+ cancel: Abbrechen
88
+ confirm: Bestätigen
89
+ confirm_title: Sind Sie sicher?
90
+ delete: Löschen
91
+ delete_title: Löschen
92
+ ok: OK
93
93
  events:
94
94
  index:
95
95
  processed_empty: Noch keine Ereignisse verarbeitet
@@ -157,6 +157,10 @@ de:
157
157
  jobs:
158
158
  enqueued_table:
159
159
  arguments: Argumente
160
+ discard: Verwerfen
161
+ discard_all: Alle verwerfen
162
+ discard_all_confirm: Alle eingereihten Jobs verwerfen und ihre Sperren freigeben? Dies kann nicht rückgängig gemacht werden.
163
+ discard_confirm: Diese Nachricht verwerfen?
160
164
  empty: Keine eingereihten Jobs
161
165
  full_json_payload: Vollständige JSON-Nutzlast
162
166
  headers:
@@ -176,13 +180,9 @@ de:
176
180
  scheduled: 'Geplant:'
177
181
  timezone: 'Zeitzone:'
178
182
  visible_at: 'Sichtbar ab:'
179
- title: Eingereihte Jobs
180
- discard: Verwerfen
181
- discard_confirm: Diese Nachricht verwerfen?
182
- discard_all: Alle verwerfen
183
- discard_all_confirm: Alle eingereihten Jobs verwerfen und ihre Sperren freigeben? Dies kann nicht rückgängig gemacht werden.
184
183
  retry: Wiederholen
185
184
  retry_confirm: Sichtbarkeits-Timeout zurücksetzen und erneut versuchen?
185
+ title: Eingereihte Jobs
186
186
  failed_table:
187
187
  discard: Verwerfen
188
188
  discard_confirm: Diesen Job verwerfen?
@@ -282,9 +282,13 @@ de:
282
282
  pid: PID
283
283
  status: Status
284
284
  queues:
285
+ destroy:
286
+ success: Warteschlange %{name} gelöscht.
285
287
  index:
286
288
  title: Warteschlangen
287
289
  queues_list:
290
+ delete: Löschen
291
+ delete_confirm: Warteschlange %{name} dauerhaft löschen? Dies kann nicht rückgängig gemacht werden.
288
292
  empty: Keine Warteschlangen gefunden
289
293
  headers:
290
294
  actions: Aktionen
@@ -294,16 +298,12 @@ de:
294
298
  queue: Warteschlange
295
299
  total_ever: Insgesamt jemals
296
300
  visible: Sichtbar
297
- delete: Löschen
298
- delete_confirm: Warteschlange %{name} dauerhaft löschen? Dies kann nicht rückgängig gemacht werden.
299
301
  pause: Pause
300
302
  pause_confirm: Verarbeitung für %{name} pausieren?
301
303
  paused: Pausiert
302
304
  purge: Bereinigen
303
305
  purge_confirm: Alle Nachrichten von %{name} löschen?
304
306
  resume: Fortsetzen
305
- destroy:
306
- success: Warteschlange %{name} gelöscht.
307
307
  show:
308
308
  delete_confirm: Diese Warteschlange dauerhaft löschen? Dies kann nicht rückgängig gemacht werden.
309
309
  delete_queue: Warteschlange löschen
@@ -1,13 +1,6 @@
1
1
  ---
2
2
  en:
3
3
  pgbus:
4
- dialogs:
5
- cancel: Cancel
6
- confirm: Confirm
7
- confirm_title: Are you sure?
8
- delete: Delete
9
- delete_title: Delete
10
- ok: OK
11
4
  dashboard:
12
5
  processes_table:
13
6
  empty: No processes running
@@ -90,6 +83,13 @@ en:
90
83
  payload: Payload
91
84
  retry: Retry
92
85
  title: 'DLQ Message #%{id}'
86
+ dialogs:
87
+ cancel: Cancel
88
+ confirm: Confirm
89
+ confirm_title: Are you sure?
90
+ delete: Delete
91
+ delete_title: Delete
92
+ ok: OK
93
93
  events:
94
94
  index:
95
95
  processed_empty: No events processed yet
@@ -173,6 +173,10 @@ en:
173
173
  jobs:
174
174
  enqueued_table:
175
175
  arguments: Arguments
176
+ discard: Discard
177
+ discard_all: Discard All
178
+ discard_all_confirm: Discard all enqueued jobs and release their locks? This cannot be undone.
179
+ discard_confirm: Discard this message?
176
180
  empty: No enqueued jobs
177
181
  full_json_payload: Full JSON payload
178
182
  headers:
@@ -192,10 +196,6 @@ en:
192
196
  scheduled: 'Scheduled:'
193
197
  timezone: 'Timezone:'
194
198
  visible_at: 'Visible at:'
195
- discard: Discard
196
- discard_all: Discard All
197
- discard_all_confirm: Discard all enqueued jobs and release their locks? This cannot be undone.
198
- discard_confirm: Discard this message?
199
199
  retry: Retry
200
200
  retry_confirm: Reset visibility timeout and retry?
201
201
  title: Enqueued Jobs
@@ -298,9 +298,13 @@ en:
298
298
  pid: PID
299
299
  status: Status
300
300
  queues:
301
+ destroy:
302
+ success: Queue %{name} deleted.
301
303
  index:
302
304
  title: Queues
303
305
  queues_list:
306
+ delete: Delete
307
+ delete_confirm: Permanently delete queue %{name}? This cannot be undone.
304
308
  empty: No queues found
305
309
  headers:
306
310
  actions: Actions
@@ -310,16 +314,12 @@ en:
310
314
  queue: Queue
311
315
  total_ever: Total Ever
312
316
  visible: Visible
313
- delete: Delete
314
- delete_confirm: Permanently delete queue %{name}? This cannot be undone.
315
317
  pause: Pause
316
318
  pause_confirm: Pause processing for %{name}?
317
319
  paused: Paused
318
320
  purge: Purge
319
321
  purge_confirm: Purge all messages from %{name}?
320
322
  resume: Resume
321
- destroy:
322
- success: Queue %{name} deleted.
323
323
  show:
324
324
  delete_confirm: Permanently delete this queue? This cannot be undone.
325
325
  delete_queue: Delete Queue
@@ -1,13 +1,6 @@
1
1
  ---
2
2
  es:
3
3
  pgbus:
4
- dialogs:
5
- cancel: Cancelar
6
- confirm: Confirmar
7
- confirm_title: "¿Estás seguro?"
8
- delete: Eliminar
9
- delete_title: Eliminar
10
- ok: Aceptar
11
4
  dashboard:
12
5
  processes_table:
13
6
  empty: No hay procesos en ejecución
@@ -90,6 +83,13 @@ es:
90
83
  payload: Carga útil
91
84
  retry: Reintentar
92
85
  title: 'Mensaje DLQ #%{id}'
86
+ dialogs:
87
+ cancel: Cancelar
88
+ confirm: Confirmar
89
+ confirm_title: "¿Estás seguro?"
90
+ delete: Eliminar
91
+ delete_title: Eliminar
92
+ ok: Aceptar
93
93
  events:
94
94
  index:
95
95
  processed_empty: No se han procesado eventos aún
@@ -157,6 +157,10 @@ es:
157
157
  jobs:
158
158
  enqueued_table:
159
159
  arguments: Argumentos
160
+ discard: Descartar
161
+ discard_all: Descartar todos
162
+ discard_all_confirm: "¿Descartar todos los trabajos en cola y liberar sus bloqueos? Esta acción no se puede deshacer."
163
+ discard_confirm: "¿Descartar este mensaje?"
160
164
  empty: No hay trabajos en cola
161
165
  full_json_payload: Carga JSON completa
162
166
  headers:
@@ -176,13 +180,9 @@ es:
176
180
  scheduled: 'Programado:'
177
181
  timezone: 'Zona horaria:'
178
182
  visible_at: 'Visible en:'
179
- title: Trabajos en Cola
180
- discard: Descartar
181
- discard_confirm: "¿Descartar este mensaje?"
182
- discard_all: Descartar todos
183
- discard_all_confirm: "¿Descartar todos los trabajos en cola y liberar sus bloqueos? Esta acción no se puede deshacer."
184
183
  retry: Reintentar
185
184
  retry_confirm: "¿Restablecer tiempo de visibilidad y reintentar?"
185
+ title: Trabajos en Cola
186
186
  failed_table:
187
187
  discard: Descartar
188
188
  discard_confirm: "¿Descartar este trabajo?"
@@ -282,9 +282,13 @@ es:
282
282
  pid: PID
283
283
  status: Estado
284
284
  queues:
285
+ destroy:
286
+ success: Cola %{name} eliminada.
285
287
  index:
286
288
  title: Colas
287
289
  queues_list:
290
+ delete: Eliminar
291
+ delete_confirm: "¿Eliminar permanentemente la cola %{name}? Esto no se puede deshacer."
288
292
  empty: No se encontraron colas
289
293
  headers:
290
294
  actions: Acciones
@@ -294,16 +298,12 @@ es:
294
298
  queue: Cola
295
299
  total_ever: Total acumulado
296
300
  visible: Visible
297
- delete: Eliminar
298
- delete_confirm: "¿Eliminar permanentemente la cola %{name}? Esto no se puede deshacer."
299
301
  pause: Pausar
300
302
  pause_confirm: "¿Pausar el procesamiento de %{name}?"
301
303
  paused: Pausado
302
304
  purge: Purgar
303
305
  purge_confirm: "¿Purgar todos los mensajes de %{name}?"
304
306
  resume: Reanudar
305
- destroy:
306
- success: Cola %{name} eliminada.
307
307
  show:
308
308
  delete_confirm: "¿Eliminar permanentemente esta cola? Esto no se puede deshacer."
309
309
  delete_queue: Eliminar cola
@@ -1,13 +1,6 @@
1
1
  ---
2
2
  fi:
3
3
  pgbus:
4
- dialogs:
5
- cancel: Peruuta
6
- confirm: Vahvista
7
- confirm_title: Oletko varma?
8
- delete: Poista
9
- delete_title: Poista
10
- ok: OK
11
4
  dashboard:
12
5
  processes_table:
13
6
  empty: Ei käynnissä olevia prosesseja
@@ -90,6 +83,13 @@ fi:
90
83
  payload: Kuorma
91
84
  retry: Yritä uudelleen
92
85
  title: 'DLQ-viesti #%{id}'
86
+ dialogs:
87
+ cancel: Peruuta
88
+ confirm: Vahvista
89
+ confirm_title: Oletko varma?
90
+ delete: Poista
91
+ delete_title: Poista
92
+ ok: OK
93
93
  events:
94
94
  index:
95
95
  processed_empty: Ei vielä käsiteltyjä tapahtumia
@@ -157,6 +157,10 @@ fi:
157
157
  jobs:
158
158
  enqueued_table:
159
159
  arguments: Argumentit
160
+ discard: Hylkää
161
+ discard_all: Hylkää kaikki
162
+ discard_all_confirm: Hylkää kaikki jonossa olevat tehtävät ja vapauta lukot? Tätä ei voi perua.
163
+ discard_confirm: Hylätä tämä viesti?
160
164
  empty: Ei jonotettuja töitä
161
165
  full_json_payload: Täysi JSON-payload
162
166
  headers:
@@ -176,13 +180,9 @@ fi:
176
180
  scheduled: 'Aikataulutettu:'
177
181
  timezone: 'Aikavyöhyke:'
178
182
  visible_at: 'Näkyvissä:'
179
- title: Jonotetut työt
180
- discard: Hylkää
181
- discard_confirm: Hylätä tämä viesti?
182
- discard_all: Hylkää kaikki
183
- discard_all_confirm: Hylkää kaikki jonossa olevat tehtävät ja vapauta lukot? Tätä ei voi perua.
184
183
  retry: Yritä uudelleen
185
184
  retry_confirm: Nollaa näkyvyysaika ja yritä uudelleen?
185
+ title: Jonotetut työt
186
186
  failed_table:
187
187
  discard: Hylkää
188
188
  discard_confirm: Hylätäänkö tämä työ?
@@ -282,9 +282,13 @@ fi:
282
282
  pid: PID
283
283
  status: Tila
284
284
  queues:
285
+ destroy:
286
+ success: Jono %{name} poistettu.
285
287
  index:
286
288
  title: Jonot
287
289
  queues_list:
290
+ delete: Poista
291
+ delete_confirm: Poista jono %{name} pysyvästi? Tätä ei voi kumota.
288
292
  empty: Jonot eivät löydy
289
293
  headers:
290
294
  actions: Toiminnot
@@ -294,16 +298,12 @@ fi:
294
298
  queue: Jono
295
299
  total_ever: Yhteensä koskaan
296
300
  visible: Näkyvissä
297
- delete: Poista
298
- delete_confirm: Poista jono %{name} pysyvästi? Tätä ei voi kumota.
299
301
  pause: Tauko
300
302
  pause_confirm: Keskeytä käsittely %{name} ajan?
301
303
  paused: Keskeytetty
302
304
  purge: Tyhjennä
303
305
  purge_confirm: Tyhjennä kaikki viestit %{name}:sta?
304
306
  resume: Jatka
305
- destroy:
306
- success: Jono %{name} poistettu.
307
307
  show:
308
308
  delete_confirm: Poista tämä jono pysyvästi? Tätä ei voi kumota.
309
309
  delete_queue: Poista jono
@@ -1,13 +1,6 @@
1
1
  ---
2
2
  fr:
3
3
  pgbus:
4
- dialogs:
5
- cancel: Annuler
6
- confirm: Confirmer
7
- confirm_title: "Êtes-vous sûr ?"
8
- delete: Supprimer
9
- delete_title: Supprimer
10
- ok: OK
11
4
  dashboard:
12
5
  processes_table:
13
6
  empty: Aucun processus en cours d'exécution
@@ -90,6 +83,13 @@ fr:
90
83
  payload: Charge utile
91
84
  retry: Réessayer
92
85
  title: Message DLQ n°%{id}
86
+ dialogs:
87
+ cancel: Annuler
88
+ confirm: Confirmer
89
+ confirm_title: Êtes-vous sûr ?
90
+ delete: Supprimer
91
+ delete_title: Supprimer
92
+ ok: OK
93
93
  events:
94
94
  index:
95
95
  processed_empty: Aucun événement traité pour le moment
@@ -157,6 +157,10 @@ fr:
157
157
  jobs:
158
158
  enqueued_table:
159
159
  arguments: Arguments
160
+ discard: Rejeter
161
+ discard_all: Tout supprimer
162
+ discard_all_confirm: Supprimer tous les travaux en file d'attente et libérer leurs verrous ? Cette action est irréversible.
163
+ discard_confirm: Rejeter ce message ?
160
164
  empty: Aucun travail en file d'attente
161
165
  full_json_payload: Charge utile JSON complète
162
166
  headers:
@@ -176,13 +180,9 @@ fr:
176
180
  scheduled: 'Planifié :'
177
181
  timezone: 'Fuseau horaire :'
178
182
  visible_at: 'Visible à :'
179
- title: Travaux en file d'attente
180
- discard: Rejeter
181
- discard_confirm: Rejeter ce message ?
182
- discard_all: Tout supprimer
183
- discard_all_confirm: Supprimer tous les travaux en file d'attente et libérer leurs verrous ? Cette action est irréversible.
184
183
  retry: Réessayer
185
184
  retry_confirm: Réinitialiser le délai de visibilité et réessayer ?
185
+ title: Travaux en file d'attente
186
186
  failed_table:
187
187
  discard: Ignorer
188
188
  discard_confirm: Ignorer ce travail ?
@@ -282,9 +282,13 @@ fr:
282
282
  pid: PID
283
283
  status: Statut
284
284
  queues:
285
+ destroy:
286
+ success: File d'attente %{name} supprimée.
285
287
  index:
286
288
  title: Files d'attente
287
289
  queues_list:
290
+ delete: Supprimer
291
+ delete_confirm: Supprimer définitivement la file d'attente %{name} ? Cette action est irréversible.
288
292
  empty: Aucune file d'attente trouvée
289
293
  headers:
290
294
  actions: Actions
@@ -294,16 +298,12 @@ fr:
294
298
  queue: File d'attente
295
299
  total_ever: Total jamais
296
300
  visible: Visible
297
- delete: Supprimer
298
- delete_confirm: Supprimer définitivement la file d'attente %{name} ? Cette action est irréversible.
299
301
  pause: Pause
300
302
  pause_confirm: Mettre en pause le traitement pour %{name} ?
301
303
  paused: En pause
302
304
  purge: Purger
303
305
  purge_confirm: Purger tous les messages de %{name} ?
304
306
  resume: Reprendre
305
- destroy:
306
- success: File d'attente %{name} supprimée.
307
307
  show:
308
308
  delete_confirm: Supprimer définitivement cette file d'attente ? Cette action est irréversible.
309
309
  delete_queue: Supprimer la file d'attente
@@ -1,13 +1,6 @@
1
1
  ---
2
2
  it:
3
3
  pgbus:
4
- dialogs:
5
- cancel: Annulla
6
- confirm: Conferma
7
- confirm_title: Sei sicuro?
8
- delete: Elimina
9
- delete_title: Elimina
10
- ok: OK
11
4
  dashboard:
12
5
  processes_table:
13
6
  empty: Nessun processo in esecuzione
@@ -90,6 +83,13 @@ it:
90
83
  payload: Payload
91
84
  retry: Riprova
92
85
  title: 'Messaggio DLQ #%{id}'
86
+ dialogs:
87
+ cancel: Annulla
88
+ confirm: Conferma
89
+ confirm_title: Sei sicuro?
90
+ delete: Elimina
91
+ delete_title: Elimina
92
+ ok: OK
93
93
  events:
94
94
  index:
95
95
  processed_empty: Nessun evento elaborato ancora
@@ -157,6 +157,10 @@ it:
157
157
  jobs:
158
158
  enqueued_table:
159
159
  arguments: Argomenti
160
+ discard: Scarta
161
+ discard_all: Scarta tutti
162
+ discard_all_confirm: Scartare tutti i lavori in coda e rilasciare i relativi blocchi? Questa azione non può essere annullata.
163
+ discard_confirm: Scartare questo messaggio?
160
164
  empty: Nessun lavoro in coda
161
165
  full_json_payload: Payload JSON completo
162
166
  headers:
@@ -176,13 +180,9 @@ it:
176
180
  scheduled: 'Programmato:'
177
181
  timezone: 'Fuso orario:'
178
182
  visible_at: 'Visibile alle:'
179
- title: Lavori in coda
180
- discard: Scarta
181
- discard_confirm: Scartare questo messaggio?
182
- discard_all: Scarta tutti
183
- discard_all_confirm: Scartare tutti i lavori in coda e rilasciare i relativi blocchi? Questa azione non può essere annullata.
184
183
  retry: Riprova
185
184
  retry_confirm: Reimpostare il timeout di visibilità e riprovare?
185
+ title: Lavori in coda
186
186
  failed_table:
187
187
  discard: Scarta
188
188
  discard_confirm: Scartare questo lavoro?
@@ -282,9 +282,13 @@ it:
282
282
  pid: PID
283
283
  status: Stato
284
284
  queues:
285
+ destroy:
286
+ success: Coda %{name} eliminata.
285
287
  index:
286
288
  title: Code
287
289
  queues_list:
290
+ delete: Elimina
291
+ delete_confirm: Eliminare permanentemente la coda %{name}? Questa azione non può essere annullata.
288
292
  empty: Nessuna coda trovata
289
293
  headers:
290
294
  actions: Azioni
@@ -294,16 +298,12 @@ it:
294
298
  queue: Coda
295
299
  total_ever: Totale mai
296
300
  visible: Visibile
297
- delete: Elimina
298
- delete_confirm: Eliminare permanentemente la coda %{name}? Questa azione non può essere annullata.
299
301
  pause: Pausa
300
302
  pause_confirm: Mettere in pausa l'elaborazione per %{name}?
301
303
  paused: In pausa
302
304
  purge: Pulisci
303
305
  purge_confirm: Eliminare tutti i messaggi da %{name}?
304
306
  resume: Riprendi
305
- destroy:
306
- success: Coda %{name} eliminata.
307
307
  show:
308
308
  delete_confirm: Eliminare permanentemente questa coda? Questa azione non può essere annullata.
309
309
  delete_queue: Elimina coda