{"title":"Tasks","version":"6.0","locale":"ja","docname":"ref/tasks","url":"/ja/6.0/ref/tasks/","canonical":"https://djangodocs.dev/ja/6.0/ref/tasks/","summary":"New in Django 6.0 The Task framework provides the contract and plumbing for background work, not the engine that runs it. The Tasks API defines how work is…","html":"<h1>Tasks<a class=\"heading-anchor\" href=\"#tasks\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<aside class=\"version-note version-added\" data-version=\"6.0\">\n<p class=\"version-note-title\">New in Django 6.0</p></aside>\n<p id=\"module-django.tasks\">The Task framework provides the contract and plumbing for background work, not\nthe engine that runs it. The Tasks API defines how work is described, queued,\nand tracked, but leaves actual execution to external infrastructure.</p>\n<section id=\"task-definition\">\n<h2>Task definition<a class=\"heading-anchor\" href=\"#task-definition\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"the-task-decorator\">\n<h3>The <code class=\"docutils literal notranslate\"><span class=\"pre\">task</span></code> decorator<a class=\"heading-anchor\" href=\"#the-task-decorator\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.task\">\n<span class=\"sig-name descname\"><span class=\"pre\">task</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"keyword-only-separator o\"><abbr title=\"Keyword-only parameters separator (PEP 3102)\"><span class=\"pre\">*</span></abbr></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">priority</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">0</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">queue_name</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">'default'</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">backend</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">'default'</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">takes_context</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">False</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.tasks.task\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">&#64;task</span></code> decorator defines a <a class=\"reference internal\" href=\"#django.tasks.Task\" title=\"django.tasks.Task\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Task</span></code></a> instance. This has the\nfollowing optional arguments:</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">priority</span></code>: Sets the <a class=\"reference internal\" href=\"#django.tasks.Task.priority\" title=\"django.tasks.Task.priority\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">priority</span></code></a> of the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code>. Defaults\nto 0.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">queue_name</span></code>: Sets the <a class=\"reference internal\" href=\"#django.tasks.Task.queue_name\" title=\"django.tasks.Task.queue_name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">queue_name</span></code></a> of the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code>.\nDefaults to <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;default&quot;</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">backend</span></code>: Sets the <a class=\"reference internal\" href=\"#django.tasks.Task.backend\" title=\"django.tasks.Task.backend\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">backend</span></code></a> of the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code>. Defaults to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;default&quot;</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">takes_context</span></code>: Controls whether the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> function accepts a\n<a class=\"reference internal\" href=\"#django.tasks.TaskContext\" title=\"django.tasks.TaskContext\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TaskContext</span></code></a>. Defaults to <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>. See <a class=\"reference internal\" href=\"/ja/6.0/topics/tasks/#task-context\"><span class=\"std std-ref\">Task context</span></a> for details.</p></li>\n</ul>\n<p>If the defined <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> is not valid according to the backend,\n<a class=\"reference internal\" href=\"#django.tasks.exceptions.InvalidTask\" title=\"django.tasks.exceptions.InvalidTask\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">InvalidTask</span></code></a> is raised.</p>\n<p>See <a class=\"reference internal\" href=\"/ja/6.0/topics/tasks/#defining-tasks\"><span class=\"std std-ref\">defining tasks</span></a> for usage examples.</p>\n</dd></dl>\n\n</section>\n<section id=\"task\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code><a class=\"heading-anchor\" href=\"#task\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.Task\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Task</span></span><a class=\"heading-anchor\" href=\"#django.tasks.Task\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Represents a Task to be run in the background. Tasks should be defined\nusing the <a class=\"reference internal\" href=\"#django.tasks.task\" title=\"django.tasks.task\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">task()</span></code></a> decorator.</p>\n<p>Attributes of <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> cannot be modified. See <a class=\"reference internal\" href=\"/ja/6.0/topics/tasks/#modifying-tasks\"><span class=\"std std-ref\">modifying Tasks</span></a> for details.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.Task.priority\">\n<span class=\"sig-name descname\"><span class=\"pre\">priority</span></span><a class=\"heading-anchor\" href=\"#django.tasks.Task.priority\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The priority of the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code>. Priorities must be between -100 and 100,\nwhere larger numbers are higher priority, and will be run sooner.</p>\n<p>The backend must have <a class=\"reference internal\" href=\"#django.tasks.backends.base.BaseTaskBackend.supports_priority\" title=\"django.tasks.backends.base.BaseTaskBackend.supports_priority\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">supports_priority</span></code></a> set to <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> to use\nthis feature.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.Task.backend\">\n<span class=\"sig-name descname\"><span class=\"pre\">backend</span></span><a class=\"heading-anchor\" href=\"#django.tasks.Task.backend\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The alias of the backend the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> should be enqueued to. This must\nmatch a backend defined in <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-TASKS-BACKEND\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">BACKEND</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.Task.queue_name\">\n<span class=\"sig-name descname\"><span class=\"pre\">queue_name</span></span><a class=\"heading-anchor\" href=\"#django.tasks.Task.queue_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The name of the queue the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> will be enqueued on to. Defaults to\n<code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;default&quot;</span></code>. This must match a queue defined in\n<a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-TASKS-QUEUES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">QUEUES</span></code></a>, unless\n<a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-TASKS-QUEUES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">QUEUES</span></code></a> is set to <code class=\"docutils literal notranslate\"><span class=\"pre\">[]</span></code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.Task.run_after\">\n<span class=\"sig-name descname\"><span class=\"pre\">run_after</span></span><a class=\"heading-anchor\" href=\"#django.tasks.Task.run_after\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The earliest time the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> will be executed. This can be a\n<a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.timedelta\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">timedelta</span></code></a>, which is used relative to the\ncurrent time, a timezone-aware <a class=\"reference external\" href=\"https://docs.python.org/3/library/datetime.html#datetime.datetime\" title=\"(in Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">datetime</span></code></a>,\nor <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> if not constrained. Defaults to <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p>\n<p>The backend must have <a class=\"reference internal\" href=\"#django.tasks.backends.base.BaseTaskBackend.supports_defer\" title=\"django.tasks.backends.base.BaseTaskBackend.supports_defer\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">supports_defer</span></code></a> set to <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> to use\nthis feature. Otherwise,\n<a class=\"reference internal\" href=\"#django.tasks.exceptions.InvalidTask\" title=\"django.tasks.exceptions.InvalidTask\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">InvalidTask</span></code></a> is raised.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.Task.name\">\n<span class=\"sig-name descname\"><span class=\"pre\">name</span></span><a class=\"heading-anchor\" href=\"#django.tasks.Task.name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The name of the function decorated with <a class=\"reference internal\" href=\"#django.tasks.task\" title=\"django.tasks.task\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">task()</span></code></a>. This name is not\nnecessarily unique.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.Task.using\">\n<span class=\"sig-name descname\"><span class=\"pre\">using</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"keyword-only-separator o\"><abbr title=\"Keyword-only parameters separator (PEP 3102)\"><span class=\"pre\">*</span></abbr></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">priority</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">backend</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">queue_name</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">run_after</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.tasks.Task.using\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Creates a new <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> with modified defaults. The existing <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> is\nleft unchanged.</p>\n<p><code class=\"docutils literal notranslate\"><span class=\"pre\">using</span></code> allows modifying the following attributes:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"#django.tasks.Task.priority\" title=\"django.tasks.Task.priority\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">priority</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.tasks.Task.backend\" title=\"django.tasks.Task.backend\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">backend</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.tasks.Task.queue_name\" title=\"django.tasks.Task.queue_name\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">queue_name</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"#django.tasks.Task.run_after\" title=\"django.tasks.Task.run_after\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">run_after</span></code></a></p></li>\n</ul>\n<p>See <a class=\"reference internal\" href=\"/ja/6.0/topics/tasks/#modifying-tasks\"><span class=\"std std-ref\">modifying Tasks</span></a> for usage examples.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.Task.enqueue\">\n<span class=\"sig-name descname\"><span class=\"pre\">enqueue</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.tasks.Task.enqueue\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Enqueues the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> to the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> backend for later execution.</p>\n<p>Arguments are passed to the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code>'s function after a round-trip\nthrough a <a class=\"reference external\" href=\"https://docs.python.org/3/library/json.html#json.dumps\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">json.dumps()</span></code></a>/<a class=\"reference external\" href=\"https://docs.python.org/3/library/json.html#json.loads\" title=\"(in Python v3.14)\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">json.loads()</span></code></a> cycle. Hence, all\narguments must be JSON-serializable and preserve their type after the\nround-trip.</p>\n<p>If the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> is not valid according to the backend,\n<a class=\"reference internal\" href=\"#django.tasks.exceptions.InvalidTask\" title=\"django.tasks.exceptions.InvalidTask\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">InvalidTask</span></code></a> is raised.</p>\n<p>See <a class=\"reference internal\" href=\"/ja/6.0/topics/tasks/#enqueueing-tasks\"><span class=\"std std-ref\">enqueueing Tasks</span></a> for usage examples.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.Task.aenqueue\">\n<span class=\"sig-name descname\"><span class=\"pre\">aenqueue</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.tasks.Task.aenqueue\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">async</span></code> variant of <a class=\"reference internal\" href=\"#django.tasks.Task.enqueue\" title=\"django.tasks.Task.enqueue\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">enqueue</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.Task.get_result\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_result</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">result_id</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.tasks.Task.get_result\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Retrieves a result by its id.</p>\n<p>If the result does not exist, <a class=\"reference internal\" href=\"#django.tasks.exceptions.TaskResultDoesNotExist\" title=\"django.tasks.exceptions.TaskResultDoesNotExist\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">TaskResultDoesNotExist</span></code></a> is raised. If the\nresult is not the same type as the current Task,\n<a class=\"reference internal\" href=\"#django.tasks.exceptions.TaskResultMismatch\" title=\"django.tasks.exceptions.TaskResultMismatch\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">TaskResultMismatch</span></code></a>\nis raised. If the backend does not support <code class=\"docutils literal notranslate\"><span class=\"pre\">get_result()</span></code>,\n<a class=\"reference external\" href=\"https://docs.python.org/3/library/exceptions.html#NotImplementedError\" title=\"(in Python v3.14)\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">NotImplementedError</span></code></a> is raised.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.Task.aget_result\">\n<span class=\"sig-name descname\"><span class=\"pre\">aget_result</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">*</span></span><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"o\"><span class=\"pre\">**</span></span><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.tasks.Task.aget_result\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">async</span></code> variant of <a class=\"reference internal\" href=\"#django.tasks.Task.get_result\" title=\"django.tasks.Task.get_result\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_result</span></code></a>.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n</section>\n<section id=\"task-context\">\n<h2>Task context<a class=\"heading-anchor\" href=\"#task-context\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskContext\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TaskContext</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskContext\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Contains context for the running <a class=\"reference internal\" href=\"#django.tasks.Task\" title=\"django.tasks.Task\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Task</span></code></a>. Context only passed to a\n<code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> if it was defined with <code class=\"docutils literal notranslate\"><span class=\"pre\">takes_context=True</span></code>.</p>\n<p>Attributes of <code class=\"docutils literal notranslate\"><span class=\"pre\">TaskContext</span></code> cannot be modified.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskContext.task_result\">\n<span class=\"sig-name descname\"><span class=\"pre\">task_result</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskContext.task_result\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <a class=\"reference internal\" href=\"#django.tasks.TaskResult\" title=\"django.tasks.TaskResult\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TaskResult</span></code></a> currently being run.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskContext.attempt\">\n<span class=\"sig-name descname\"><span class=\"pre\">attempt</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskContext.attempt\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The number of the current execution attempts for this Task, starting at\n1.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n<section id=\"task-results\">\n<h2>Task results<a class=\"heading-anchor\" href=\"#task-results\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResultStatus\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TaskResultStatus</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResultStatus\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>An Enum representing the status of a <a class=\"reference internal\" href=\"#django.tasks.TaskResult\" title=\"django.tasks.TaskResult\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TaskResult</span></code></a>.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResultStatus.READY\">\n<span class=\"sig-name descname\"><span class=\"pre\">READY</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResultStatus.READY\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <a class=\"reference internal\" href=\"#django.tasks.Task\" title=\"django.tasks.Task\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Task</span></code></a> has just been enqueued, or is ready to be executed\nagain.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResultStatus.RUNNING\">\n<span class=\"sig-name descname\"><span class=\"pre\">RUNNING</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResultStatus.RUNNING\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <a class=\"reference internal\" href=\"#django.tasks.Task\" title=\"django.tasks.Task\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Task</span></code></a> is currently being executed.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResultStatus.FAILED\">\n<span class=\"sig-name descname\"><span class=\"pre\">FAILED</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResultStatus.FAILED\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <a class=\"reference internal\" href=\"#django.tasks.Task\" title=\"django.tasks.Task\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Task</span></code></a> raised an exception during execution, or was unable\nto start.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResultStatus.SUCCESSFUL\">\n<span class=\"sig-name descname\"><span class=\"pre\">SUCCESSFUL</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResultStatus.SUCCESSFUL\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <a class=\"reference internal\" href=\"#django.tasks.Task\" title=\"django.tasks.Task\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Task</span></code></a> has finished executing successfully.</p>\n</dd></dl>\n\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TaskResult</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">TaskResult</span></code> stores the information about a specific execution of a\n<a class=\"reference internal\" href=\"#django.tasks.Task\" title=\"django.tasks.Task\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Task</span></code></a>.</p>\n<p>Attributes of <code class=\"docutils literal notranslate\"><span class=\"pre\">TaskResult</span></code> cannot be modified.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult.task\">\n<span class=\"sig-name descname\"><span class=\"pre\">task</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult.task\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <a class=\"reference internal\" href=\"#django.tasks.Task\" title=\"django.tasks.Task\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Task</span></code></a> the result was enqueued for.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult.id\">\n<span class=\"sig-name descname\"><span class=\"pre\">id</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult.id\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A unique identifier for the result, which can be passed to\n<a class=\"reference internal\" href=\"#django.tasks.Task.get_result\" title=\"django.tasks.Task.get_result\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">Task.get_result()</span></code></a>.</p>\n<p>The format of the id will depend on the backend being used. Task result\nids are always strings less than 64 characters.</p>\n<p>See <a class=\"reference internal\" href=\"/ja/6.0/topics/tasks/#task-results\"><span class=\"std std-ref\">Task results</span></a> for more details.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult.status\">\n<span class=\"sig-name descname\"><span class=\"pre\">status</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult.status\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <a class=\"reference internal\" href=\"#django.tasks.TaskResultStatus\" title=\"django.tasks.TaskResultStatus\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">status</span></code></a> of the result.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult.enqueued_at\">\n<span class=\"sig-name descname\"><span class=\"pre\">enqueued_at</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult.enqueued_at\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The time when the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> was enqueued.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult.started_at\">\n<span class=\"sig-name descname\"><span class=\"pre\">started_at</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult.started_at\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The time when the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> began execution, on its first attempt.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult.last_attempted_at\">\n<span class=\"sig-name descname\"><span class=\"pre\">last_attempted_at</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult.last_attempted_at\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The time when the most recent <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> run began execution.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult.finished_at\">\n<span class=\"sig-name descname\"><span class=\"pre\">finished_at</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult.finished_at\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The time when the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> finished execution, whether it failed or\nsucceeded.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult.backend\">\n<span class=\"sig-name descname\"><span class=\"pre\">backend</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult.backend\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The backend the result is from.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult.errors\">\n<span class=\"sig-name descname\"><span class=\"pre\">errors</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult.errors\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A list of <a class=\"reference internal\" href=\"#django.tasks.TaskError\" title=\"django.tasks.TaskError\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TaskError</span></code></a> instances for the errors raised as part of\neach execution of the Task.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult.return_value\">\n<span class=\"sig-name descname\"><span class=\"pre\">return_value</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult.return_value\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The return value from the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> function.</p>\n<p>If the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> did not finish successfully, <a class=\"reference external\" href=\"https://docs.python.org/3/library/exceptions.html#ValueError\" title=\"(in Python v3.14)\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">ValueError</span></code></a> is\nraised.</p>\n<p>See <a class=\"reference internal\" href=\"/ja/6.0/topics/tasks/#task-return-values\"><span class=\"std std-ref\">return values</span></a> for usage examples.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult.refresh\">\n<span class=\"sig-name descname\"><span class=\"pre\">refresh</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult.refresh\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Refresh the result's attributes from the queue store.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult.arefresh\">\n<span class=\"sig-name descname\"><span class=\"pre\">arefresh</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult.arefresh\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">async</span></code> variant of <a class=\"reference internal\" href=\"#django.tasks.TaskResult.refresh\" title=\"django.tasks.TaskResult.refresh\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">TaskResult.refresh()</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult.is_finished\">\n<span class=\"sig-name descname\"><span class=\"pre\">is_finished</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult.is_finished\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Whether the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> has finished (successfully or not).</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult.attempts\">\n<span class=\"sig-name descname\"><span class=\"pre\">attempts</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult.attempts\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The number of times the Task has been run.</p>\n<p>If the task is currently running, it does not count as an attempt.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskResult.worker_ids\">\n<span class=\"sig-name descname\"><span class=\"pre\">worker_ids</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskResult.worker_ids\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The ids of the workers which have executed the Task.</p>\n</dd></dl>\n\n</dd></dl>\n\n<section id=\"task-errors\">\n<h3>Task errors<a class=\"heading-anchor\" href=\"#task-errors\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TaskError</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskError\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Contains information about the error raised during the execution of a\n<code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code>.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskError.traceback\">\n<span class=\"sig-name descname\"><span class=\"pre\">traceback</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskError.traceback\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The traceback (as a string) from the raised exception when the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code>\nfailed.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.TaskError.exception_class\">\n<span class=\"sig-name descname\"><span class=\"pre\">exception_class</span></span><a class=\"heading-anchor\" href=\"#django.tasks.TaskError.exception_class\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The exception class raised when executing the <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code>.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n</section>\n<section id=\"backends\">\n<h2>Backends<a class=\"heading-anchor\" href=\"#backends\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Backends handle how Tasks are stored and executed. All backends share a common\ninterface defined by <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseTaskBackend</span></code>, which specifies the core methods for\nenqueueing Tasks and retrieving results.</p>\n<section id=\"module-django.tasks.backends.base\">\n<span id=\"base-backend\"></span><h3>Base backend<a class=\"heading-anchor\" href=\"#module-django.tasks.backends.base\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.backends.base.BaseTaskBackend\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">BaseTaskBackend</span></span><a class=\"heading-anchor\" href=\"#django.tasks.backends.base.BaseTaskBackend\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><code class=\"docutils literal notranslate\"><span class=\"pre\">BaseTaskBackend</span></code> is the parent class for all Task backends.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.backends.base.BaseTaskBackend.options\">\n<span class=\"sig-name descname\"><span class=\"pre\">options</span></span><a class=\"heading-anchor\" href=\"#django.tasks.backends.base.BaseTaskBackend.options\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A dictionary of extra parameters for the Task backend. These are\nprovided using the <a class=\"reference internal\" href=\"/ja/6.0/ref/settings/#std-setting-TASKS-OPTIONS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">OPTIONS</span></code></a> setting.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.backends.base.BaseTaskBackend.enqueue\">\n<span class=\"sig-name descname\"><span class=\"pre\">enqueue</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">task</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.tasks.backends.base.BaseTaskBackend.enqueue\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Task backends which subclass <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseTaskBackend</span></code> should implement this\nmethod as a minimum.</p>\n<p>When implemented, <code class=\"docutils literal notranslate\"><span class=\"pre\">enqueue()</span></code> enqueues the <code class=\"docutils literal notranslate\"><span class=\"pre\">task</span></code>, a <a class=\"reference internal\" href=\"#django.tasks.Task\" title=\"django.tasks.Task\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Task</span></code></a>\ninstance, for later execution. <code class=\"docutils literal notranslate\"><span class=\"pre\">args</span></code> are the positional arguments\nand <code class=\"docutils literal notranslate\"><span class=\"pre\">kwargs</span></code> are the keyword arguments to be passed to the <code class=\"docutils literal notranslate\"><span class=\"pre\">task</span></code>.\nReturns a <a class=\"reference internal\" href=\"#django.tasks.TaskResult\" title=\"django.tasks.TaskResult\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TaskResult</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.backends.base.BaseTaskBackend.aenqueue\">\n<span class=\"sig-name descname\"><span class=\"pre\">aenqueue</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">task</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">args</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">kwargs</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.tasks.backends.base.BaseTaskBackend.aenqueue\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">async</span></code> variant of <a class=\"reference internal\" href=\"#django.tasks.backends.base.BaseTaskBackend.enqueue\" title=\"django.tasks.backends.base.BaseTaskBackend.enqueue\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">BaseTaskBackend.enqueue()</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.backends.base.BaseTaskBackend.get_result\">\n<span class=\"sig-name descname\"><span class=\"pre\">get_result</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">result_id</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.tasks.backends.base.BaseTaskBackend.get_result\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Retrieve a result by its id. If the result does not exist,\n<a class=\"reference internal\" href=\"#django.tasks.exceptions.TaskResultDoesNotExist\" title=\"django.tasks.exceptions.TaskResultDoesNotExist\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">TaskResultDoesNotExist</span></code></a> is raised.</p>\n<p>If the backend does not support <code class=\"docutils literal notranslate\"><span class=\"pre\">get_result()</span></code>,\n<a class=\"reference external\" href=\"https://docs.python.org/3/library/exceptions.html#NotImplementedError\" title=\"(in Python v3.14)\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">NotImplementedError</span></code></a> is raised.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.backends.base.BaseTaskBackend.aget_result\">\n<span class=\"sig-name descname\"><span class=\"pre\">aget_result</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">result_id</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.tasks.backends.base.BaseTaskBackend.aget_result\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <code class=\"docutils literal notranslate\"><span class=\"pre\">async</span></code> variant of <a class=\"reference internal\" href=\"#django.tasks.backends.base.BaseTaskBackend.get_result\" title=\"django.tasks.backends.base.BaseTaskBackend.get_result\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">BaseTaskBackend.get_result()</span></code></a>.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.backends.base.BaseTaskBackend.validate_task\">\n<span class=\"sig-name descname\"><span class=\"pre\">validate_task</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">task</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.tasks.backends.base.BaseTaskBackend.validate_task\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Validates whether the provided <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> is able to be enqueued using\nthe backend. If the Task is not valid,\n<a class=\"reference internal\" href=\"#django.tasks.exceptions.InvalidTask\" title=\"django.tasks.exceptions.InvalidTask\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">InvalidTask</span></code></a>\nis raised.</p>\n</dd></dl>\n\n</dd></dl>\n\n<section id=\"feature-flags\">\n<h4>Feature flags<a class=\"heading-anchor\" href=\"#feature-flags\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<p>Some backends may not support all features Django provides. It's possible to\nidentify the supported functionality of a backend, and potentially change\nbehavior accordingly.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.backends.base.BaseTaskBackend.supports_defer\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseTaskBackend.</span></span><span class=\"sig-name descname\"><span class=\"pre\">supports_defer</span></span><a class=\"heading-anchor\" href=\"#django.tasks.backends.base.BaseTaskBackend.supports_defer\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Whether the backend supports enqueueing Tasks to be executed after a\nspecific time using the <a class=\"reference internal\" href=\"#django.tasks.Task.run_after\" title=\"django.tasks.Task.run_after\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">run_after</span></code></a> attribute.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.backends.base.BaseTaskBackend.supports_async_task\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseTaskBackend.</span></span><span class=\"sig-name descname\"><span class=\"pre\">supports_async_task</span></span><a class=\"heading-anchor\" href=\"#django.tasks.backends.base.BaseTaskBackend.supports_async_task\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Whether the backend supports enqueueing async functions (coroutines).</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.backends.base.BaseTaskBackend.supports_get_result\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseTaskBackend.</span></span><span class=\"sig-name descname\"><span class=\"pre\">supports_get_result</span></span><a class=\"heading-anchor\" href=\"#django.tasks.backends.base.BaseTaskBackend.supports_get_result\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Whether the backend supports retrieving <code class=\"docutils literal notranslate\"><span class=\"pre\">Task</span></code> results from another\nthread after they have been enqueued.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.backends.base.BaseTaskBackend.supports_priority\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">BaseTaskBackend.</span></span><span class=\"sig-name descname\"><span class=\"pre\">supports_priority</span></span><a class=\"heading-anchor\" href=\"#django.tasks.backends.base.BaseTaskBackend.supports_priority\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Whether the backend supports executing Tasks as ordered by their\n<a class=\"reference internal\" href=\"#django.tasks.Task.priority\" title=\"django.tasks.Task.priority\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">priority</span></code></a>.</p>\n</dd></dl>\n\n<p>The below table notes which of the <a class=\"reference internal\" href=\"#task-available-backends\"><span class=\"std std-ref\">built-in backends</span></a> support which features:</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Feature</p></th>\n<th class=\"head\"><p><a class=\"reference internal\" href=\"#django.tasks.backends.dummy.DummyBackend\" title=\"django.tasks.backends.dummy.DummyBackend\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DummyBackend</span></code></a></p></th>\n<th class=\"head\"><p><a class=\"reference internal\" href=\"#django.tasks.backends.immediate.ImmediateBackend\" title=\"django.tasks.backends.immediate.ImmediateBackend\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImmediateBackend</span></code></a></p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><a class=\"reference internal\" href=\"#django.tasks.backends.base.BaseTaskBackend.supports_defer\" title=\"django.tasks.backends.base.BaseTaskBackend.supports_defer\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">supports_defer</span></code></a></p></td>\n<td><p>Yes</p></td>\n<td><p>No</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><a class=\"reference internal\" href=\"#django.tasks.backends.base.BaseTaskBackend.supports_async_task\" title=\"django.tasks.backends.base.BaseTaskBackend.supports_async_task\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">supports_async_task</span></code></a></p></td>\n<td><p>Yes</p></td>\n<td><p>Yes</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><a class=\"reference internal\" href=\"#django.tasks.backends.base.BaseTaskBackend.supports_get_result\" title=\"django.tasks.backends.base.BaseTaskBackend.supports_get_result\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">supports_get_result</span></code></a></p></td>\n<td><p>No</p></td>\n<td><p>No <a class=\"footnote-reference brackets\" href=\"#fnimmediateresult\" id=\"id1\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>1<span class=\"fn-bracket\">]</span></a></p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><a class=\"reference internal\" href=\"#django.tasks.backends.base.BaseTaskBackend.supports_priority\" title=\"django.tasks.backends.base.BaseTaskBackend.supports_priority\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">supports_priority</span></code></a></p></td>\n<td><p>Yes <a class=\"footnote-reference brackets\" href=\"#fndummypriority\" id=\"id2\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>2<span class=\"fn-bracket\">]</span></a></p></td>\n<td><p>Yes <a class=\"footnote-reference brackets\" href=\"#fnimmediatepriority\" id=\"id3\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>3<span class=\"fn-bracket\">]</span></a></p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n</section>\n<section id=\"available-backends\">\n<span id=\"task-available-backends\"></span><h3>Available backends<a class=\"heading-anchor\" href=\"#available-backends\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Django includes only development and testing backends. These support local\nexecution and inspection, for production ready backends refer to\n<a class=\"reference internal\" href=\"/ja/6.0/topics/tasks/#configuring-a-task-backend\"><span class=\"std std-ref\">Configuring a Task backend</span></a>.</p>\n<section id=\"module-django.tasks.backends.immediate\">\n<span id=\"immediate-backend\"></span><h4>Immediate backend<a class=\"heading-anchor\" href=\"#module-django.tasks.backends.immediate\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.backends.immediate.ImmediateBackend\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ImmediateBackend</span></span><a class=\"heading-anchor\" href=\"#django.tasks.backends.immediate.ImmediateBackend\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <a class=\"reference internal\" href=\"/ja/6.0/topics/tasks/#immediate-task-backend\"><span class=\"std std-ref\">immediate backend</span></a> executes Tasks\nimmediately, rather than in the background.</p>\n</dd></dl>\n\n</section>\n<section id=\"module-django.tasks.backends.dummy\">\n<span id=\"dummy-backend\"></span><h4>ダミーバックエンド<a class=\"heading-anchor\" href=\"#module-django.tasks.backends.dummy\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.backends.dummy.DummyBackend\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">DummyBackend</span></span><a class=\"heading-anchor\" href=\"#django.tasks.backends.dummy.DummyBackend\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>The <a class=\"reference internal\" href=\"/ja/6.0/topics/tasks/#dummy-task-backend\"><span class=\"std std-ref\">dummy backend</span></a> does not execute enqueued\nTasks. Instead, it stores task results for later inspection.</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.backends.dummy.DummyBackend.results\">\n<span class=\"sig-name descname\"><span class=\"pre\">results</span></span><a class=\"heading-anchor\" href=\"#django.tasks.backends.dummy.DummyBackend.results\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>A list of results for the enqueued Tasks, in the order they were\nenqueued.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.backends.dummy.DummyBackend.clear\">\n<span class=\"sig-name descname\"><span class=\"pre\">clear</span></span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.tasks.backends.dummy.DummyBackend.clear\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Clears the list of stored results.</p>\n</dd></dl>\n\n</dd></dl>\n\n</section>\n</section>\n</section>\n<section id=\"module-django.tasks.exceptions\">\n<span id=\"exceptions\"></span><h2>例外<a class=\"heading-anchor\" href=\"#module-django.tasks.exceptions\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.exceptions.InvalidTask\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">InvalidTask</span></span><a class=\"heading-anchor\" href=\"#django.tasks.exceptions.InvalidTask\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Raised when the <a class=\"reference internal\" href=\"#django.tasks.Task\" title=\"django.tasks.Task\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Task</span></code></a> attempting to be enqueued\nis invalid.</p>\n</dd></dl>\n\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.exceptions.InvalidTaskBackend\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">InvalidTaskBackend</span></span><a class=\"heading-anchor\" href=\"#django.tasks.exceptions.InvalidTaskBackend\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Raised when the requested <a class=\"reference internal\" href=\"#django.tasks.backends.base.BaseTaskBackend\" title=\"django.tasks.backends.base.BaseTaskBackend\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">BaseTaskBackend</span></code></a> is invalid.</p>\n</dd></dl>\n\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.exceptions.TaskResultDoesNotExist\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TaskResultDoesNotExist</span></span><a class=\"heading-anchor\" href=\"#django.tasks.exceptions.TaskResultDoesNotExist\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Raised by <a class=\"reference internal\" href=\"#django.tasks.backends.base.BaseTaskBackend.get_result\" title=\"django.tasks.backends.base.BaseTaskBackend.get_result\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_result()</span></code></a>\nwhen the provided <code class=\"docutils literal notranslate\"><span class=\"pre\">result_id</span></code> does not exist.</p>\n</dd></dl>\n\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.tasks.exceptions.TaskResultMismatch\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TaskResultMismatch</span></span><a class=\"heading-anchor\" href=\"#django.tasks.exceptions.TaskResultMismatch\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Raised by <a class=\"reference internal\" href=\"#django.tasks.Task.get_result\" title=\"django.tasks.Task.get_result\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get_result()</span></code></a> when the provided\n<code class=\"docutils literal notranslate\"><span class=\"pre\">result_id</span></code> is for a different Task than the current Task.</p>\n</dd></dl>\n\n<p class=\"rubric\">脚注</p>\n<aside class=\"footnote-list brackets\">\n<aside class=\"footnote brackets\" id=\"fnimmediateresult\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id1\">1</a><span class=\"fn-bracket\">]</span></span>\n<p>The <a class=\"reference internal\" href=\"#django.tasks.backends.immediate.ImmediateBackend\" title=\"django.tasks.backends.immediate.ImmediateBackend\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImmediateBackend</span></code></a> doesn't officially\nsupport <code class=\"docutils literal notranslate\"><span class=\"pre\">get_result()</span></code>, despite implementing the API, since the result\ncannot be retrieved from a different thread.</p>\n</aside>\n<aside class=\"footnote brackets\" id=\"fndummypriority\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id2\">2</a><span class=\"fn-bracket\">]</span></span>\n<p>The <a class=\"reference internal\" href=\"#django.tasks.backends.dummy.DummyBackend\" title=\"django.tasks.backends.dummy.DummyBackend\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">DummyBackend</span></code></a> has <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_priority=True</span></code>\nso that it can be used as a drop-in replacement in tests. Since this\nbackend never executes Tasks, the <code class=\"docutils literal notranslate\"><span class=\"pre\">priority</span></code> value has no effect.</p>\n</aside>\n<aside class=\"footnote brackets\" id=\"fnimmediatepriority\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id3\">3</a><span class=\"fn-bracket\">]</span></span>\n<p>The <a class=\"reference internal\" href=\"#django.tasks.backends.immediate.ImmediateBackend\" title=\"django.tasks.backends.immediate.ImmediateBackend\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ImmediateBackend</span></code></a> has\n<code class=\"docutils literal notranslate\"><span class=\"pre\">supports_priority=True</span></code> so that it can be used as a drop-in replacement\nin tests. Because Tasks run as soon as they are scheduled, the <code class=\"docutils literal notranslate\"><span class=\"pre\">priority</span></code>\nvalue has no effect.</p>\n</aside>\n</aside>\n</section>","rootId":"tasks","toc":[{"title":"Task definition","anchor":"task-definition","children":[{"title":"The task decorator","anchor":"the-task-decorator","children":[]},{"title":"Task","anchor":"task","children":[]}]},{"title":"Task context","anchor":"task-context","children":[]},{"title":"Task results","anchor":"task-results","children":[{"title":"Task errors","anchor":"task-errors","children":[]}]},{"title":"Backends","anchor":"backends","children":[{"title":"Base backend","anchor":"module-django.tasks.backends.base","children":[{"title":"Feature flags","anchor":"feature-flags","children":[]}]},{"title":"Available backends","anchor":"available-backends","children":[{"title":"Immediate backend","anchor":"module-django.tasks.backends.immediate","children":[]},{"title":"ダミーバックエンド","anchor":"module-django.tasks.backends.dummy","children":[]}]}]},{"title":"例外","anchor":"module-django.tasks.exceptions","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"API リファレンス","url":"/ja/6.0/ref/"}],"prev":{"docname":"ref/signals","title":"シグナル","url":"/ja/6.0/ref/signals/"},"next":{"docname":"ref/templates/index","title":"テンプレート","url":"/ja/6.0/ref/templates/"},"formats":{"html":"/ja/6.0/ref/tasks/","markdown":"/ja/6.0/ref/tasks.md","json":"/ja/6.0/ref/tasks.json"},"source":"https://github.com/django/django/blob/stable/6.0.x/docs/ref/tasks.txt","official":"https://docs.djangoproject.com/ja/6.0/ref/tasks/","inVersions":["6.1","6.0"],"inLocales":["en","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}