django-simpletask5 0.2.2__tar.gz → 0.2.3__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.
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/PKG-INFO +7 -1
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/README.md +6 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/core/cronjob_registry.py +2 -1
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/management/commands/django_simpletask_crontab.py +3 -1
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5.egg-info/PKG-INFO +7 -1
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/pyproject.toml +1 -1
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/LICENSE +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/__init__.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/admin.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/apps.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/core/__init__.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/core/defaults.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/core/executor_scanner.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/core/lock.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/core/message_queue.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/core/publisher.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/core/signals.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/core/worker_registry.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/dashboards.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/__init__.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/archive.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/base.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/bash_script.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/exceptions.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/loader.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/ping_pong.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/python_script.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/retry_timeout.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/simple_request.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/status_check.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/locale/zh_Hans/LC_MESSAGES/django.mo +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/locale/zh_Hans/LC_MESSAGES/django.po +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/management/__init__.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/management/commands/__init__.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/management/commands/django_simpletask_archive.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/management/commands/django_simpletask_executor.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/management/commands/django_simpletask_sync_cronjobs.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/migrations/0001_initial.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/migrations/0002_taskexecution_done_tasks_count_and_more.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/migrations/0003_alter_cronjob_options_remove_cronjob_name_and_more.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/migrations/0004_alter_cronjob_is_modified_by_user.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/migrations/0005_alter_cronjob_is_modified_by_user_help.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/migrations/0006_alter_cronjob_options_alter_taskexecution_created_at_and_more.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/migrations/0007_rename_task_model_to_executor_class_in_stat.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/migrations/0008_taskexecution_pickup_timeout_seconds.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/migrations/0009_add_cronjob_app_label.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/migrations/__init__.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/models.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/services/__init__.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/services/archive.py +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/static/django_simpletask5/css/dashboard.css +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/static/django_simpletask5/js/select2_executor.js +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5.egg-info/SOURCES.txt +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5.egg-info/dependency_links.txt +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5.egg-info/requires.txt +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5.egg-info/top_level.txt +0 -0
- {django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-simpletask5
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: Lightweight async task execution framework for Django
|
|
5
5
|
Author-email: rRR0VrFP <rrr0vrfp@qq.com>
|
|
6
6
|
Maintainer-email: rRR0VrFP <rrr0vrfp@qq.com>
|
|
@@ -368,6 +368,8 @@ python manage.py django_simpletask_sync_cronjobs
|
|
|
368
368
|
|
|
369
369
|
同步后,用户可以在 Django Admin 中查看和修改 Cron 任务,被手动修改过的任务不会在后续同步中被覆盖(`is_modified_by_user` 标记保护)。
|
|
370
370
|
|
|
371
|
+
> 注意:cron 表达式按 Django 的 `TIME_ZONE` 设置对应的本地时间解释。`USE_TZ=True` 时仍以本地时间计算触发时刻(存储为 UTC),例如 `TIME_ZONE = 'Asia/Shanghai'` 下 `30 14 * * *` 表示每天 14:30 本地时间触发。
|
|
372
|
+
|
|
371
373
|
## 内置执行器
|
|
372
374
|
|
|
373
375
|
| 执行器 | 说明 |
|
|
@@ -392,6 +394,10 @@ Worker 消费消息 → 获取分布式锁 → 加载执行器 → 执行并保
|
|
|
392
394
|
|
|
393
395
|
## Releases
|
|
394
396
|
|
|
397
|
+
### 0.2.3
|
|
398
|
+
|
|
399
|
+
- **Cron 时区修复** — cron 表达式改为按 Django `TIME_ZONE` 配置的本地时间解释,不再固定按 UTC 计算。`USE_TZ=True` 时使用 `timezone.localtime(now())` 作为 croniter 基准时间,非 UTC 时区下定时任务不再偏移;`USE_TZ=False` 保持原有本地时间行为不变
|
|
400
|
+
|
|
395
401
|
### 0.2.2
|
|
396
402
|
|
|
397
403
|
- **抑制异步消息** — 新增 `_skip_publish` 机制,创建/更新/删除 Task 时可通过 `skip_publish()` 方法、`save(skip_publish=True)`、构造时传入 `skip_publish=True` 等方式禁止触发 RabbitMQ 消息通知
|
|
@@ -328,6 +328,8 @@ python manage.py django_simpletask_sync_cronjobs
|
|
|
328
328
|
|
|
329
329
|
同步后,用户可以在 Django Admin 中查看和修改 Cron 任务,被手动修改过的任务不会在后续同步中被覆盖(`is_modified_by_user` 标记保护)。
|
|
330
330
|
|
|
331
|
+
> 注意:cron 表达式按 Django 的 `TIME_ZONE` 设置对应的本地时间解释。`USE_TZ=True` 时仍以本地时间计算触发时刻(存储为 UTC),例如 `TIME_ZONE = 'Asia/Shanghai'` 下 `30 14 * * *` 表示每天 14:30 本地时间触发。
|
|
332
|
+
|
|
331
333
|
## 内置执行器
|
|
332
334
|
|
|
333
335
|
| 执行器 | 说明 |
|
|
@@ -352,6 +354,10 @@ Worker 消费消息 → 获取分布式锁 → 加载执行器 → 执行并保
|
|
|
352
354
|
|
|
353
355
|
## Releases
|
|
354
356
|
|
|
357
|
+
### 0.2.3
|
|
358
|
+
|
|
359
|
+
- **Cron 时区修复** — cron 表达式改为按 Django `TIME_ZONE` 配置的本地时间解释,不再固定按 UTC 计算。`USE_TZ=True` 时使用 `timezone.localtime(now())` 作为 croniter 基准时间,非 UTC 时区下定时任务不再偏移;`USE_TZ=False` 保持原有本地时间行为不变
|
|
360
|
+
|
|
355
361
|
### 0.2.2
|
|
356
362
|
|
|
357
363
|
- **抑制异步消息** — 新增 `_skip_publish` 机制,创建/更新/删除 Task 时可通过 `skip_publish()` 方法、`save(skip_publish=True)`、构造时传入 `skip_publish=True` 等方式禁止触发 RabbitMQ 消息通知
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/core/cronjob_registry.py
RENAMED
|
@@ -38,7 +38,8 @@ def _compute_next_run_time(cron_expression, base=None):
|
|
|
38
38
|
except ImportError:
|
|
39
39
|
return None
|
|
40
40
|
if base is None:
|
|
41
|
-
|
|
41
|
+
now = timezone.now()
|
|
42
|
+
base = timezone.localtime(now) if timezone.is_aware(now) else now
|
|
42
43
|
try:
|
|
43
44
|
cron = croniter(cron_expression, base)
|
|
44
45
|
return cron.get_next(datetime)
|
|
@@ -182,5 +182,7 @@ class Command(BaseCommand):
|
|
|
182
182
|
transaction.on_commit(_publish_cronjob)
|
|
183
183
|
|
|
184
184
|
from django_simpletask5.core.cronjob_registry import _compute_next_run_time
|
|
185
|
-
|
|
185
|
+
now = timezone.now()
|
|
186
|
+
base = timezone.localtime(now) if timezone.is_aware(now) else now
|
|
187
|
+
cronjob.next_run_time = _compute_next_run_time(cronjob.cron_expression, base=base)
|
|
186
188
|
cronjob.save(update_fields=['next_run_time'])
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-simpletask5
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.3
|
|
4
4
|
Summary: Lightweight async task execution framework for Django
|
|
5
5
|
Author-email: rRR0VrFP <rrr0vrfp@qq.com>
|
|
6
6
|
Maintainer-email: rRR0VrFP <rrr0vrfp@qq.com>
|
|
@@ -368,6 +368,8 @@ python manage.py django_simpletask_sync_cronjobs
|
|
|
368
368
|
|
|
369
369
|
同步后,用户可以在 Django Admin 中查看和修改 Cron 任务,被手动修改过的任务不会在后续同步中被覆盖(`is_modified_by_user` 标记保护)。
|
|
370
370
|
|
|
371
|
+
> 注意:cron 表达式按 Django 的 `TIME_ZONE` 设置对应的本地时间解释。`USE_TZ=True` 时仍以本地时间计算触发时刻(存储为 UTC),例如 `TIME_ZONE = 'Asia/Shanghai'` 下 `30 14 * * *` 表示每天 14:30 本地时间触发。
|
|
372
|
+
|
|
371
373
|
## 内置执行器
|
|
372
374
|
|
|
373
375
|
| 执行器 | 说明 |
|
|
@@ -392,6 +394,10 @@ Worker 消费消息 → 获取分布式锁 → 加载执行器 → 执行并保
|
|
|
392
394
|
|
|
393
395
|
## Releases
|
|
394
396
|
|
|
397
|
+
### 0.2.3
|
|
398
|
+
|
|
399
|
+
- **Cron 时区修复** — cron 表达式改为按 Django `TIME_ZONE` 配置的本地时间解释,不再固定按 UTC 计算。`USE_TZ=True` 时使用 `timezone.localtime(now())` 作为 croniter 基准时间,非 UTC 时区下定时任务不再偏移;`USE_TZ=False` 保持原有本地时间行为不变
|
|
400
|
+
|
|
395
401
|
### 0.2.2
|
|
396
402
|
|
|
397
403
|
- **抑制异步消息** — 新增 `_skip_publish` 机制,创建/更新/删除 Task 时可通过 `skip_publish()` 方法、`save(skip_publish=True)`、构造时传入 `skip_publish=True` 等方式禁止触发 RabbitMQ 消息通知
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/core/executor_scanner.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/core/message_queue.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/core/worker_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/__init__.py
RENAMED
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/archive.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/bash_script.py
RENAMED
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/exceptions.py
RENAMED
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/loader.py
RENAMED
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/ping_pong.py
RENAMED
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/python_script.py
RENAMED
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/retry_timeout.py
RENAMED
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/simple_request.py
RENAMED
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/executors/status_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/management/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/migrations/0001_initial.py
RENAMED
|
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
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/migrations/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/services/__init__.py
RENAMED
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5/services/archive.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5.egg-info/requires.txt
RENAMED
|
File without changes
|
{django_simpletask5-0.2.2 → django_simpletask5-0.2.3}/django_simpletask5.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|