dj-queue 0.14.0__tar.gz → 0.14.1__tar.gz

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.
Files changed (105) hide show
  1. {dj_queue-0.14.0 → dj_queue-0.14.1}/PKG-INFO +1 -1
  2. dj_queue-0.14.1/dj_queue/static/admin/dj_queue/breadcrumbs.css +46 -0
  3. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/templates/admin/dj_queue/change_form.html +8 -7
  4. dj_queue-0.14.1/dj_queue/templates/admin/dj_queue/change_list.html +16 -0
  5. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/templates/admin/dj_queue/dashboard.html +5 -4
  6. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/templates/admin/dj_queue/queue_jobs.html +7 -6
  7. {dj_queue-0.14.0 → dj_queue-0.14.1}/pyproject.toml +1 -1
  8. dj_queue-0.14.0/dj_queue/templates/admin/dj_queue/change_list.html +0 -11
  9. {dj_queue-0.14.0 → dj_queue-0.14.1}/LICENSE +0 -0
  10. {dj_queue-0.14.0 → dj_queue-0.14.1}/README.md +0 -0
  11. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/__init__.py +0 -0
  12. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/admin.py +0 -0
  13. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/api.py +0 -0
  14. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/apps.py +0 -0
  15. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/backend.py +0 -0
  16. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/config.py +0 -0
  17. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/contrib/__init__.py +0 -0
  18. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/contrib/asgi.py +0 -0
  19. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/contrib/gunicorn.py +0 -0
  20. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/contrib/prometheus.py +0 -0
  21. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/cron.py +0 -0
  22. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/dashboard.py +0 -0
  23. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/dashboard_actions.py +0 -0
  24. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/db.py +0 -0
  25. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/exceptions.py +0 -0
  26. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/hooks.py +0 -0
  27. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/log.py +0 -0
  28. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/management/__init__.py +0 -0
  29. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/management/commands/__init__.py +0 -0
  30. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/management/commands/dj_queue.py +0 -0
  31. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/management/commands/dj_queue_health.py +0 -0
  32. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/management/commands/dj_queue_postgres_autovacuum.py +0 -0
  33. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/management/commands/dj_queue_prune.py +0 -0
  34. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/metrics.py +0 -0
  35. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0001_initial.py +0 -0
  36. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0002_pause_semaphore.py +0 -0
  37. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0003_recurringtask_recurringexecution.py +0 -0
  38. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0004_dashboard.py +0 -0
  39. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0005_remove_recurringexecution_dj_queue_recurring_executions_task_key_run_at_unique_and_more.py +0 -0
  40. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0006_blockedexecution_dj_queue_bl_concurr_2d8393_idx_and_more.py +0 -0
  41. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0007_recurringtask_next_run_at.py +0 -0
  42. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0008_remove_blockedexecution_dj_queue_bl_concurr_1ce730_idx_and_more.py +0 -0
  43. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0009_remove_process_dj_queue_processes_name_supervisor_unique_and_more.py +0 -0
  44. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0010_remove_process_djq_pr_name_parent_uniq_and_more.py +0 -0
  45. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0011_remove_blockedexecution_djq_bl_b_conc_idx_and_more.py +0 -0
  46. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0012_job_djq_jobs_b_queue_id_idx_job_djq_jobs_b_conc_idx_and_more.py +0 -0
  47. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0013_failedexecution_retry_at_and_more.py +0 -0
  48. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0014_semaphore_active_count.py +0 -0
  49. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0015_job_concurrency_duration.py +0 -0
  50. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0016_job_concurrency_limit.py +0 -0
  51. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0017_job_concurrency_on_conflict.py +0 -0
  52. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/0018_recurringexecution_intended_job_id.py +0 -0
  53. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/migrations/__init__.py +0 -0
  54. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/models/__init__.py +0 -0
  55. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/models/jobs.py +0 -0
  56. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/models/recurring.py +0 -0
  57. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/models/runtime.py +0 -0
  58. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/observability.py +0 -0
  59. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/operations/__init__.py +0 -0
  60. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/operations/_helpers.py +0 -0
  61. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/operations/_insert.py +0 -0
  62. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/operations/claiming.py +0 -0
  63. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/operations/cleanup.py +0 -0
  64. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/operations/concurrency.py +0 -0
  65. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/operations/jobs.py +0 -0
  66. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/operations/queues.py +0 -0
  67. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/operations/recurring.py +0 -0
  68. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/py.typed +0 -0
  69. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/queue_selectors.py +0 -0
  70. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/queue_state.py +0 -0
  71. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/routers.py +0 -0
  72. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/runtime/__init__.py +0 -0
  73. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/runtime/base.py +0 -0
  74. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/runtime/connection_budget.py +0 -0
  75. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/runtime/dispatcher.py +0 -0
  76. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/runtime/errors.py +0 -0
  77. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/runtime/interruptible.py +0 -0
  78. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/runtime/notify.py +0 -0
  79. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/runtime/pidfile.py +0 -0
  80. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/runtime/pool.py +0 -0
  81. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/runtime/procline.py +0 -0
  82. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/runtime/scheduler.py +0 -0
  83. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/runtime/supervisor.py +0 -0
  84. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/runtime/topology.py +0 -0
  85. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/runtime/worker.py +0 -0
  86. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/sql/__init__.py +0 -0
  87. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/sql/common.py +0 -0
  88. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/sql/mysql.py +0 -0
  89. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/sql/postgres.py +0 -0
  90. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/sql/sqlite.py +0 -0
  91. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/sql/state.py +0 -0
  92. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/task_results.py +0 -0
  93. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/templates/admin/dj_queue/_dashboard_process_rows.html +0 -0
  94. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/templates/admin/dj_queue/_dashboard_recurring_rows.html +0 -0
  95. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/templates/admin/dj_queue/_dashboard_section_table.html +0 -0
  96. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/templates/admin/dj_queue/_dashboard_semaphore_rows.html +0 -0
  97. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/templates/admin/dj_queue/_paginator.html +0 -0
  98. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/templates/admin/dj_queue/_queue_controls.html +0 -0
  99. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/templates/admin/dj_queue/_sortable_header_cells.html +0 -0
  100. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/templates/admin/dj_queue/includes/fieldset.html +0 -0
  101. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/templatetags/__init__.py +0 -0
  102. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/templatetags/dj_queue_admin.py +0 -0
  103. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/urls.py +0 -0
  104. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/views.py +0 -0
  105. {dj_queue-0.14.0 → dj_queue-0.14.1}/dj_queue/wakeup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dj-queue
3
- Version: 0.14.0
3
+ Version: 0.14.1
4
4
  Summary: Database-backed task queue backend for Django’s Tasks framework.
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -0,0 +1,46 @@
1
+ ol.djq-breadcrumbs {
2
+ margin: 0;
3
+ padding: 10px 40px;
4
+ border: none;
5
+ background: var(--breadcrumbs-bg);
6
+ color: var(--breadcrumbs-fg);
7
+ list-style: none;
8
+ text-align: left;
9
+ }
10
+
11
+ ol.djq-breadcrumbs li {
12
+ display: inline-block;
13
+ padding: 0;
14
+ font-size: 0.875rem;
15
+ }
16
+
17
+ ol.djq-breadcrumbs li:not([aria-current="page"])::after {
18
+ content: " \203A " / "";
19
+ }
20
+
21
+ ol.djq-breadcrumbs li a[aria-current="page"] {
22
+ color: var(--breadcrumbs-fg);
23
+ text-decoration: none !important;
24
+ cursor: default;
25
+ }
26
+
27
+ ol.djq-breadcrumbs a {
28
+ color: var(--breadcrumbs-link-fg);
29
+ }
30
+
31
+ ol.djq-breadcrumbs a:focus,
32
+ ol.djq-breadcrumbs a:hover {
33
+ color: var(--breadcrumbs-fg);
34
+ }
35
+
36
+ @media (max-width: 1024px) {
37
+ ol.djq-breadcrumbs {
38
+ padding: 10px 30px;
39
+ }
40
+ }
41
+
42
+ @media (max-width: 767px) {
43
+ ol.djq-breadcrumbs {
44
+ padding: 10px 15px;
45
+ }
46
+ }
@@ -1,9 +1,10 @@
1
1
  {% extends "admin/change_form.html" %}
2
2
 
3
- {% load i18n admin_urls %}
3
+ {% load i18n admin_urls static %}
4
4
 
5
5
  {% block extrastyle %}
6
6
  {{ block.super }}
7
+ <link rel="stylesheet" href="{% static 'admin/dj_queue/breadcrumbs.css' %}">
7
8
  <style>
8
9
  .submit-row form {
9
10
  display: inline;
@@ -54,12 +55,12 @@
54
55
  {% endblock extrastyle %}
55
56
 
56
57
  {% block breadcrumbs %}
57
- <div class="breadcrumbs">
58
- <a href='{% url "admin:index" %}'>{% translate "Home" %}</a>
59
- › <a href="{{ dashboard_url }}">dj_queue</a>
60
- › {% if has_view_permission %}<a href="{{ changelist_url }}">{{ opts.verbose_name_plural|capfirst }}</a>{% else %}{{ opts.verbose_name_plural|capfirst }}{% endif %}
61
- › {% if add %}{% blocktranslate with name=opts.verbose_name %}Add {{ name }}{% endblocktranslate %}{% else %}{{ original|truncatewords:"18" }}{% endif %}
62
- </div>
58
+ <ol class="breadcrumbs djq-breadcrumbs">
59
+ <li><a href='{% url "admin:index" %}'>{% translate "Home" %}</a></li>
60
+ <li><a href="{{ dashboard_url }}">dj_queue</a></li>
61
+ <li>{% if has_view_permission %}<a href="{{ changelist_url }}">{{ opts.verbose_name_plural|capfirst }}</a>{% else %}{{ opts.verbose_name_plural|capfirst }}{% endif %}</li>
62
+ <li aria-current="page">{% if add %}{% blocktranslate with name=opts.verbose_name %}Add {{ name }}{% endblocktranslate %}{% else %}{{ original|truncatewords:"18" }}{% endif %}</li>
63
+ </ol>
63
64
  {% endblock breadcrumbs %}
64
65
 
65
66
  {% block object-tools %}{% endblock object-tools %}
@@ -0,0 +1,16 @@
1
+ {% extends "admin/change_list.html" %}
2
+
3
+ {% load i18n static %}
4
+
5
+ {% block extrastyle %}
6
+ {{ block.super }}
7
+ <link rel="stylesheet" href="{% static 'admin/dj_queue/breadcrumbs.css' %}">
8
+ {% endblock extrastyle %}
9
+
10
+ {% block breadcrumbs %}
11
+ <ol class="breadcrumbs djq-breadcrumbs">
12
+ <li><a href='{% url "admin:index" %}'>{% translate "Home" %}</a></li>
13
+ <li><a href="{{ dashboard_url }}">dj_queue</a></li>
14
+ <li aria-current="page">{{ cl.opts.verbose_name_plural|capfirst }}</li>
15
+ </ol>
16
+ {% endblock breadcrumbs %}
@@ -4,6 +4,7 @@
4
4
 
5
5
  {% block extrastyle %}
6
6
  {{ block.super }}
7
+ <link rel="stylesheet" href="{% static 'admin/dj_queue/breadcrumbs.css' %}">
7
8
  <link rel="stylesheet" type="text/css" href="{% static 'admin/css/changelists.css' %}">
8
9
  <style>
9
10
  #content-main.djq-dashboard {
@@ -500,10 +501,10 @@
500
501
  {% endblock extrastyle %}
501
502
 
502
503
  {% block breadcrumbs %}
503
- <div class="breadcrumbs">
504
- <a href="{% url 'admin:index' %}">Home</a>
505
- › dj_queue
506
- </div>
504
+ <ol class="breadcrumbs djq-breadcrumbs">
505
+ <li><a href="{% url 'admin:index' %}">Home</a></li>
506
+ <li aria-current="page">dj_queue</li>
507
+ </ol>
507
508
  {% endblock breadcrumbs %}
508
509
 
509
510
  {% block content_title %}{% endblock content_title %}
@@ -4,6 +4,7 @@
4
4
 
5
5
  {% block extrastyle %}
6
6
  {{ block.super }}
7
+ <link rel="stylesheet" href="{% static 'admin/dj_queue/breadcrumbs.css' %}">
7
8
  <link rel="stylesheet" type="text/css" href="{% static 'admin/css/changelists.css' %}">
8
9
  <style>
9
10
  #content-main {
@@ -196,12 +197,12 @@
196
197
  {% endblock bodyclass %}
197
198
 
198
199
  {% block breadcrumbs %}
199
- <div class="breadcrumbs">
200
- <a href="{% url 'admin:index' %}">Home</a>
201
- › <a href="{% url 'admin:dj_queue_dashboard_changelist' %}?backend={{ backend_alias }}">dj_queue</a>
202
- › <a href="{% url 'admin:dj_queue_dashboard_changelist' %}?backend={{ backend_alias }}#queue-summary">queues</a>
203
- › {{ queue_name }}
204
- </div>
200
+ <ol class="breadcrumbs djq-breadcrumbs">
201
+ <li><a href="{% url 'admin:index' %}">Home</a></li>
202
+ <li><a href="{% url 'admin:dj_queue_dashboard_changelist' %}?backend={{ backend_alias }}">dj_queue</a></li>
203
+ <li><a href="{% url 'admin:dj_queue_dashboard_changelist' %}?backend={{ backend_alias }}#queue-summary">queues</a></li>
204
+ <li aria-current="page">{{ queue_name }}</li>
205
+ </ol>
205
206
  {% endblock breadcrumbs %}
206
207
 
207
208
  {% block content_title %}
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "dj-queue"
7
- version = "0.14.0"
7
+ version = "0.14.1"
8
8
  description = "Database-backed task queue backend for Django’s Tasks framework."
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -1,11 +0,0 @@
1
- {% extends "admin/change_list.html" %}
2
-
3
- {% load i18n %}
4
-
5
- {% block breadcrumbs %}
6
- <div class="breadcrumbs">
7
- <a href='{% url "admin:index" %}'>{% translate "Home" %}</a>
8
- › <a href="{{ dashboard_url }}">dj_queue</a>
9
- › {{ cl.opts.verbose_name_plural|capfirst }}
10
- </div>
11
- {% endblock breadcrumbs %}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes