secator 0.10.1a8__tar.gz → 0.10.1a9__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.
Potentially problematic release.
This version of secator might be problematic. Click here for more details.
- {secator-0.10.1a8 → secator-0.10.1a9}/PKG-INFO +1 -1
- {secator-0.10.1a8 → secator-0.10.1a9}/pyproject.toml +1 -1
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/cli.py +4 -1
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/runners/task.py +3 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/runners/workflow.py +5 -3
- {secator-0.10.1a8 → secator-0.10.1a9}/.docker/Dockerfile.alpine +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/.docker/Dockerfile.arch +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/.docker/Dockerfile.debian +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/.docker/Dockerfile.kali +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/.docker/Dockerfile.osx +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/.docker/Dockerfile.ubuntu +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/.docker/build_all.sh +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/.dockerignore +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/.flake8 +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/.gitignore +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/CHANGELOG.md +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/CONTRIBUTING.md +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/Dockerfile +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/LICENSE +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/README.md +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/SECURITY.md +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/cloudbuild.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/helm/.helmignore +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/helm/Chart.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/helm/templates/redis-service.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/helm/templates/redis.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/helm/templates/secator-manager.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/helm/templates/secator-worker.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/helm/values.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/download_cves.sh +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/install.sh +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/install_asciinema.sh +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/install_go.sh +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/install_ruby.sh +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/msf/exploit_cve.rc +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/msf/ftp_anonymous.rc +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/msf/ftp_version.rc +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/msf/ftp_vsftpd_234_backdoor.rc +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/msf/redis.rc +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/stories/STORY.md +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/stories/aliases.sh +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/stories/demo.sh +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/stories/fmt.sh +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/stories/input.sh +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/stories/pipe.sh +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/scripts/stories/short_demo.sh +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/.gitignore +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/celery.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/celery_signals.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/celery_utils.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/config.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/profiles/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/profiles/aggressive.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/profiles/default.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/profiles/stealth.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/scans/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/scans/domain.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/scans/host.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/scans/network.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/scans/subdomain.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/scans/url.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/workflows/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/workflows/cidr_recon.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/workflows/code_scan.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/workflows/host_recon.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/workflows/subdomain_recon.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/workflows/url_bypass.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/workflows/url_crawl.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/workflows/url_dirsearch.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/workflows/url_fuzz.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/workflows/url_nuclei.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/workflows/url_vuln.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/workflows/user_hunt.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/configs/workflows/wordpress.yaml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/decorators.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/definitions.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/exporters/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/exporters/_base.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/exporters/console.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/exporters/csv.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/exporters/gdrive.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/exporters/json.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/exporters/table.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/exporters/txt.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/hooks/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/hooks/gcs.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/hooks/mongodb.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/installer.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/_base.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/error.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/exploit.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/info.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/ip.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/port.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/progress.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/record.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/stat.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/state.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/subdomain.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/tag.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/target.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/url.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/user_account.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/vulnerability.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/output_types/warning.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/report.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/rich.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/runners/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/runners/_base.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/runners/_helpers.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/runners/celery.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/runners/command.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/runners/scan.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/scans/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/serializers/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/serializers/dataclass.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/serializers/json.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/serializers/regex.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/_categories.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/bbot.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/bup.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/cariddi.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/dalfox.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/dirsearch.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/dnsx.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/dnsxbrute.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/feroxbuster.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/ffuf.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/fping.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/gau.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/gf.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/gospider.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/grype.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/h8mail.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/httpx.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/katana.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/maigret.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/mapcidr.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/msfconsole.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/naabu.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/nmap.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/nuclei.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/searchsploit.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/subfinder.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/tasks/wpscan.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/template.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/thread.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/utils.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/utils_test.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/secator/workflows/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/fixtures/h8mail_breach.txt +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/fixtures/ls.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/fixtures/msfconsole_input.rc +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/fixtures/nmap_output.xml +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/inputs.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/outputs.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/setup.sh +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/teardown.sh +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/test_addons.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/test_celery.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/test_scans.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/test_tasks.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/test_tasks_categories.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/test_worker.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/test_workflows.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/wordlist.txt +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/wordlist_dns.txt +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/wordpress_toolbox/Dockerfile +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/integration/wordpress_toolbox/Makefile +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/performance/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/performance/loadtester.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/performance/test_worker.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/unit/__init__.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/unit/test_celery.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/unit/test_cli.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/unit/test_config.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/unit/test_offline.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/unit/test_runners.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/unit/test_scans.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/unit/test_serializers.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/unit/test_tasks.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/unit/test_tasks_categories.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/unit/test_template.py +0 -0
- {secator-0.10.1a8 → secator-0.10.1a9}/tests/unit/test_utils.py +0 -0
|
@@ -118,11 +118,12 @@ for config in sorted(ALL_SCANS, key=lambda x: x['name']):
|
|
|
118
118
|
@click.option('-r', '--reload', is_flag=True, help='Autoreload Celery on code changes.')
|
|
119
119
|
@click.option('-Q', '--queue', type=str, default='', help='Listen to a specific queue.')
|
|
120
120
|
@click.option('-P', '--pool', type=str, default='eventlet', help='Pool implementation.')
|
|
121
|
+
@click.option('--quiet', is_flag=True, help='Quiet mode.')
|
|
121
122
|
@click.option('--check', is_flag=True, help='Check if Celery worker is alive.')
|
|
122
123
|
@click.option('--dev', is_flag=True, help='Start a worker in dev mode (celery multi).')
|
|
123
124
|
@click.option('--stop', is_flag=True, help='Stop a worker in dev mode (celery multi).')
|
|
124
125
|
@click.option('--show', is_flag=True, help='Show command (celery multi).')
|
|
125
|
-
def worker(hostname, concurrency, reload, queue, pool, check, dev, stop, show):
|
|
126
|
+
def worker(hostname, concurrency, reload, queue, pool, quiet, check, dev, stop, show):
|
|
126
127
|
"""Run a worker."""
|
|
127
128
|
|
|
128
129
|
# Check Celery addon is installed
|
|
@@ -152,6 +153,8 @@ def worker(hostname, concurrency, reload, queue, pool, check, dev, stop, show):
|
|
|
152
153
|
|
|
153
154
|
app_str = 'secator.celery.app'
|
|
154
155
|
celery = f'{sys.executable} -m celery'
|
|
156
|
+
if quiet:
|
|
157
|
+
celery += ' --quiet'
|
|
155
158
|
|
|
156
159
|
if dev:
|
|
157
160
|
subcmd = 'stop' if stop else 'show' if show else 'start'
|
|
@@ -47,6 +47,9 @@ class Task(Runner):
|
|
|
47
47
|
opts['context'] = self.context.copy()
|
|
48
48
|
opts['reports_folder'] = str(self.reports_folder)
|
|
49
49
|
opts['enable_reports'] = False # Task will handle reports
|
|
50
|
+
opts['enable_duplicate_check'] = False # Task will handle duplicate check
|
|
51
|
+
opts['has_parent'] = False
|
|
52
|
+
opts['skip_if_no_inputs'] = False
|
|
50
53
|
|
|
51
54
|
# Create task signature
|
|
52
55
|
task_id = str(uuid.uuid4())
|
|
@@ -37,12 +37,14 @@ class Workflow(Runner):
|
|
|
37
37
|
# Set hooks and reports
|
|
38
38
|
self.enable_reports = True # Workflow will handle reports
|
|
39
39
|
self.enable_hooks = False # Celery will handle hooks
|
|
40
|
+
|
|
40
41
|
# Get hooks
|
|
41
42
|
hooks = self._hooks.get(Task, {})
|
|
42
43
|
opts['hooks'] = hooks
|
|
43
44
|
opts['context'] = self.context.copy()
|
|
44
45
|
opts['reports_folder'] = str(self.reports_folder)
|
|
45
46
|
opts['enable_reports'] = False # Workflow will handle reports
|
|
47
|
+
opts['enable_duplicate_check'] = False # Workflow will handle duplicate check
|
|
46
48
|
opts['has_parent'] = True
|
|
47
49
|
opts['skip_if_no_inputs'] = True
|
|
48
50
|
|
|
@@ -73,8 +75,7 @@ class Workflow(Runner):
|
|
|
73
75
|
Returns:
|
|
74
76
|
tuple (List[celery.Signature], List[str]): Celery signatures, Celery task ids.
|
|
75
77
|
"""
|
|
76
|
-
from celery import chain,
|
|
77
|
-
from secator.celery import forward_results
|
|
78
|
+
from celery import chain, group
|
|
78
79
|
sigs = []
|
|
79
80
|
for task_name, task_opts in config.items():
|
|
80
81
|
# Task opts can be None
|
|
@@ -88,7 +89,7 @@ class Workflow(Runner):
|
|
|
88
89
|
workflow_opts,
|
|
89
90
|
run_opts
|
|
90
91
|
)
|
|
91
|
-
sig =
|
|
92
|
+
sig = group(*tasks)
|
|
92
93
|
elif task_name == '_chain':
|
|
93
94
|
tasks = self.get_tasks(
|
|
94
95
|
task_opts,
|
|
@@ -107,6 +108,7 @@ class Workflow(Runner):
|
|
|
107
108
|
|
|
108
109
|
# Create task signature
|
|
109
110
|
task_id = str(uuid.uuid4())
|
|
111
|
+
opts['context'] = self.context.copy()
|
|
110
112
|
sig = task.s(inputs, **opts).set(queue=task.profile, task_id=task_id)
|
|
111
113
|
self.add_subtask(task_id, task_name, task_opts.get('description', ''))
|
|
112
114
|
self.output_types.extend(task.output_types)
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|