from __future__ import absolute_import import os import dotenv from celery import Celery from django.conf import settings # set the default Django settings module for the 'celery' program. dotenv.read_dotenv(os.path.join(os.path.dirname(__file__), '..', '.env')) os.environ.setdefault("DJANGO_SETTINGS_MODULE", "trojsten.settings.production") app = Celery('trojsten') # Using a string here means the worker will not have to # pickle the object when using Windows. app.config_from_object('django.conf:settings') app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) @app.task(bind=True) def debug_task(self): print('Request: {0!r}'.format(self.request))
from __future__ import absolute_import, unicode_literals # 这句导入一定要在第一的位置 import os from celery import Celery from django.conf import settings # 这里我们的项目名称为,所以为platform.settings os.environ.setdefault("DJANGO_SETTINGS_MODULE", "test01.settings") # 创建celery应用 app = Celery('test01') # doesn’t have to serialize the object. app.config_from_object('django.conf:settings') app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
import os from celery import Celery # set the default Django settings module for the 'celery' program. os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") app = Celery("awesome") # Using a string here means the worker doesn't have to serialize # the configuration object to child processes. # - namespace='CELERY' means all celery-related configuration keys # should have a `CELERY_` prefix. app.config_from_object("django.conf:settings", namespace="CELERY") # Load task modules from all registered Django app configs. app.autodiscover_tasks()
import os from celery import Celery # 实例化对象 celery_app = Celery('dailyfresh') # 把celery和django进行组合,必须让celery能识别和加载django的配置文件以及django的类库 os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dailyfresh.settings') # 对django框架执行初始化 import django django.setup() # 加载配置 celery_app.config_from_object('celery_tasks.config') # 注册任务 celery_app.autodiscover_tasks( ['celery_tasks.email', 'celery_tasks.index_static'])
def test_init_no_settings(self): celery = Celery(set_as_current=False) celery.conf.CELERY_MONGODB_BACKEND_SETTINGS = [] with self.assertRaises(ImproperlyConfigured): MongoBackend(app=celery)
import os from celery import Celery os.environ.setdefault('DJANGO_SETTINGS_MODULE', 't.proj.settings') app = Celery('proj') # Using a string here means the worker doesn't have to serialize # the configuration object. app.config_from_object('django.conf:settings', namespace='CELERY') app.autodiscover_tasks()
import os from django.conf import settings from celery import Celery # set the default Django settings module for the 'celery' program. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'code_sponsor.settings') app = Celery('code_sponsor') app.config_from_object('django.conf:settings', namespace='CELERY') app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
from __future__ import absolute_import, unicode_literals import os from celery import Celery from celery.schedules import crontab from kombu import Queue, Exchange os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'sale.settings') app = Celery('sale') app.conf.task_queues = (Queue('default', Exchange('default'), routing_key='default', delivery_mode=1), ) app.conf.beat_schedule = { # 'pull_all_data_fox_manager': { # 'task': 'core.tasks.pull_all_data_fox_manager', # 'schedule': crontab(hour=5, minute=0) # }, } app.config_from_object('django.conf:settings', namespace='CELERY') # Load task modules from all registered Django app configs. app.autodiscover_tasks()
from airflow.utils.log.logging_mixin import LoggingMixin from airflow.utils.module_loading import import_string PARALLELISM = configuration.conf.get('core', 'PARALLELISM') ''' To start the celery worker, run the command: airflow worker ''' if configuration.conf.has_option('celery', 'celery_config_options'): celery_configuration = import_string( configuration.conf.get('celery', 'celery_config_options')) else: celery_configuration = DEFAULT_CELERY_CONFIG app = Celery(configuration.conf.get('celery', 'CELERY_APP_NAME'), config_source=celery_configuration) @app.task def execute_command(command): log = LoggingMixin().log log.info("Executing command in Celery: %s", command) env = os.environ.copy() try: subprocess.check_call(command, shell=True, stderr=subprocess.STDOUT, close_fds=True, env=env) except subprocess.CalledProcessError as e: log.exception('execute_command encountered a CalledProcessError')
TEST_RUNNER = 'django_nose.run_tests' # Celery Configuration BROKER_URL = 'memory://' BROKER_CONNECTION_TIMEOUT = 1 BROKER_CONNECTION_RETRY = False BROKER_CONNECTION_MAX_RETRIES = 1 # The default BROKER_POOL_LIMIT is 10, broker connections are not # properly cleaned up on error, so the tests will run out of # connections and result in one test hanging forever # To prevent that, just disable it BROKER_POOL_LIMIT = 0 CELERY_RESULT_BACKEND = 'cache' CELERY_SEND_TASK_ERROR_EMAILS = False from celery import VERSION if VERSION[0] < 3: # Use Django's syntax instead of Celery's, which would be: CELERY_CACHE_BACKEND = 'locmem://' import djcelery djcelery.setup_loader() elif VERSION[0] == 3 and VERSION[1] == 0: CELERY_CACHE_BACKEND = 'memory' import djcelery djcelery.setup_loader() else: from celery import Celery CELERY_RESULT_BACKEND = 'cache+memory://' celery_app = Celery('testproj') celery_app.config_from_object('django.conf:settings') celery_app.autodiscover_tasks(lambda: INSTALLED_APPS)
from itsdangerous import TimedJSONWebSignatureSerializer as Serializer from flaskblog.models import User from flaskblog import app, mail from flask_mail import Message from celery import Celery app.config['CELERY_BROKER_URL'] = 'redis://localhost:6379' app.config['CELERY_RESULT_BACKEND'] = 'redis://localhost:6379' celery = Celery(app.name, broker=app.config['CELERY_BROKER_URL']) celery.conf.update(app.config) def validate_token(token): s = Serializer(app.config['SECRET_KEY']) try: user_id = s.loads(token) print(user_id) except: return None return User.query.get(user_id['user_id']) @celery.task def send_reset_email(user): msg = Message('Password Reset Request', sender='*****@*****.**', recipients=[user.email]) msg.body = f'''Celery Mail Test ''' mail.send(msg)
from __future__ import absolute_import, unicode_literals import os from celery import Celery from celery.schedules import crontab # set the default Django settings module for the 'celery' program. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'geodjango.settings') app = Celery('geodjango') app.config_from_object('django.conf:settings', namespace='CELERY') app.autodiscover_tasks() app.conf.beat_schedule = { 'send-report-every-single-minute': { 'task': 'gs.tasks.test2', 'schedule': crontab(), # change to `crontab(minute=0, hour=0)` if you want it to run daily at midnight }, 'send-report-every-single-minute': { 'task': 'gs.tasks.check_feeds_task', 'schedule': crontab(), # change to `crontab(minute=0, hour=0)` if you want it to run daily at midnight }, } @app.task(bind=True) def debug_task(self): print('Request: {0!r}'.format(self.request))
import os from celery import Celery from django.apps import apps, AppConfig from django.conf import settings if not settings.configured: # set the default Django settings module for the 'celery' program. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings.local') # pragma: no cover app = Celery('deleteme') class CeleryAppConfig(AppConfig): name = 'deleteme.taskapp' verbose_name = 'Celery Config' def ready(self): # Using a string here means the worker will not have to # pickle the object when using Windows. # - namespace='CELERY' means all celery-related configuration keys # should have a `CELERY_` prefix. app.config_from_object('django.conf:settings', namespace='CELERY') installed_apps = [ app_config.name for app_config in apps.get_app_configs() ] app.autodiscover_tasks(lambda: installed_apps, force=True) @app.task(bind=True) def debug_task(self):
import os import django from celery import Celery # 主程序 # 创建celery实例对象 app = Celery() # 把celery与django进行结合 加载django的配置文件 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "bz_course.settings.develop") django.setup() # 通过celery的实例对象加载配置 app.config_from_object("my_task.config") # 添加任务到实例对象中 自动找到该路径下的tasks文件中的任务 app.autodiscover_tasks( ['my_task.sms', 'my_task.upload_file', 'my_task.change_order']) # 启动celery 在项目的根目录下执行命令 # celery -A my_task.main beat # celery -A my_task.main worker --loglevel=info -P eventlet
from __future__ import absolute_import import os from celery import Celery from django.conf import settings # set the default Django settings module for the 'celery' program. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'itaigi.settings') mia, bitbe, vhost = ('itaigi', ) * 3 tsuki = 'rabbitmq' rabbitmq = 'amqp://{}:{}@{}:5672/{}'.format(mia, bitbe, tsuki, vhost) app = Celery('itaigi', backend='amqp', broker=rabbitmq) # Using a string here means the worker will not have to # pickle the object when using Windows. app.config_from_object('django.conf:settings') app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) @app.task(bind=True) def debug_task(self): print('Request: {0!r}'.format(self.request))
import os from celery import Celery # set the default Django settings module for the 'celery' program. os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local") app = Celery("flowit_crm") # Using a string here means the worker doesn't have to serialize # the configuration object to child processes. # - namespace='CELERY' means all celery-related configuration keys # should have a `CELERY_` prefix. app.config_from_object("django.conf:settings", namespace="CELERY") # Load task modules from all registered Django app configs. app.autodiscover_tasks()
import os from celery import Celery from django.conf import settings os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings') app = Celery(broker=settings.CELERY_BROKER_URL) if settings.DEBUG: app.conf.task_default_queue = 'celery_dev' else: app.conf.task_default_queue = os.environ.get('CELERY_QUEUE_NAME') app.config_from_object('django.conf:settings') app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) if __name__ == '__main__': app.start()
#!/usr/bin/env python import os import sys if __name__ == "__main__": #from gevent import monkey #monkey.patch_all() from celery import Celery app = Celery('bonk') app.conf.task_always_eager = True app.conf.task_eager_propagates = True app.conf.broker_url = 'memory://' app.conf.result_backend = 'db+sqlite://' + os.path.join(os.path.dirname(__file__), "celery.db") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "test_settings") from django.conf import settings app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) try: from django.core.management import execute_from_command_line except ImportError: # The above import may fail for some other reason. Ensure that the # issue is really that Django is missing to avoid masking other # exceptions on Python 2. try: import django except ImportError: raise ImportError( "Couldn't import Django. Are you sure it's installed and " "available on your PYTHONPATH environment variable? Did you "
import os from celery import Celery from celery.schedules import crontab os.environ.setdefault("DJANGO_SETTINGS_MODULE", "weather_reminder.settings") app = Celery("weather_reminder") app.config_from_object("django.conf:settings", namespace="CELERY") app.autodiscover_tasks() app.conf.beat_schedule = { 'update_cities_weather_info': { 'task': 'core.tasks.update_cities_weather_data', 'schedule': crontab(minute=50), }, }
] DATABASES = { "default": { "ENGINE": "django.db.backends.sqlite3", "NAME": BASE_DIR / "db.sqlite3", } } ROOT_URLCONF = "gentoo_build_publisher.urls" TEMPLATES = [ { "BACKEND": "django.template.backends.django.DjangoTemplates", "DIRS": [], "APP_DIRS": True, "OPTIONS": { "context_processors": [ "django.template.context_processors.debug", "django.template.context_processors.request", "django.contrib.auth.context_processors.auth", "django.contrib.messages.context_processors.messages", ], }, }, ] app = Celery("gentoo_build_publisher") app.config_from_object("django.conf:settings", namespace="CELERY") CELERY_TASK_ALWAYS_EAGER = True
#celery启动的入口"创建celery 对象,加载celery配置,注册celery from celery import Celery # 为celery使用django配置文件进行设置 import os if not os.getenv('DJANGO_SETTINGS_MODULE'): os.environ['DJANGO_SETTINGS_MODULE'] = 'meiduo.settings.dev' celery_app = Celery('celery_meiduo') #加载celery celery_app.config_from_object('celery_tasks.config') #注册celery任务 celery_app.autodiscover_tasks( ['celery_tasks.sms', 'celery_tasks.email', 'celery_tasks.html'])
# my_wordcloud/celery.py import os from celery import Celery os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'my_wordcloud.settings') celery_app = Celery('my_wordcloud') celery_app.config_from_object('django.conf:settings', namespace='CELERY') celery_app.autodiscover_tasks()
#!/usr/bin/python3 # coding: utf-8 from __future__ import absolute_import, unicode_literals import os from celery import Celery os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'QBuyPro.settings') app = Celery('QBuyPro', broker='redis://119.3.170.97:6378/3', backend='redis://119.3.170.97:6378/4', namespace='Celery') app.config_from_object('django.conf:settings') app.autodiscover_tasks()
from __future__ import absolute_import import os from celery import Celery os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'accounts_transactions.settings') celery_website = Celery('website') celery_website.config_from_object('django.conf:settings', namespace='CELERY') celery_website.conf.task_routes = ([ ('website.tasks.create_transaction', { 'queue': 'create_transaction' }), ], ) celery_website.autodiscover_tasks()
def test_init_settings_is_None(self): celery = Celery(set_as_current=False) celery.conf.CELERY_MONGODB_BACKEND_SETTINGS = None MongoBackend(app=celery)
import os import sys try: sys.base_prefix except: sys.base_prefix = getattr(sys, 'base_prefix', getattr(sys, 'real_prefix', sys.prefix)) def get_conf_dict(library_prefix): files = {"gff":".gff","ref":".fasta","ann":".ann.txt","barcode":".barcode.bed","bed":".bed","json_db":".dr.json","version":".version.json"} conf = {} for key in files: sys.stderr.write("Using %s file: %s\n" % (key,library_prefix+files[key])) conf[key] = pp.filecheck(library_prefix+files[key]) return conf app = Celery('tasks', broker='pyamqp://guest@localhost//') @app.task def tbprofiler(fq1,fq2,uniq_id,db,storage_dir,platform): conf = get_conf_dict(sys.base_prefix+"/share/tbprofiler/tbdb") drug_order = ["isoniazid","rifampicin","ethambutol","pyrazinamide","streptomycin","ethionamide","fluoroquinolones","amikacin","capreomycin","kanamycin"] if fq1 and fq2: fastq_obj = pp.fastq(fq1,fq2) elif fq1 and fq2==None: fastq_obj = pp.fastq(fq1) files_prefix = storage_dir+"/"+uniq_id bam_obj = fastq_obj.map_to_ref( ref_file=conf["ref"], prefix=files_prefix,sample_name=uniq_id, aligner="bwa", platform=platform, threads=4
from __future__ import absolute_import, unicode_literals import os from celery import Celery from django.conf import settings # set the default Django settings module for the 'celery' program. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'hero.settings') app = Celery('hero') # Using a string here means the worker will not have to # pickle the object when using Windows. app.config_from_object('django.conf:settings') app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) @app.task(bind=True) def debug_task(self): print('Request: {0!r}'.format(self.request))
from __future__ import absolute_import, unicode_literals import os from celery import Celery, platforms from django.conf import settings # set the default Django settings module for the 'celery' program. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'x_network.settings') app = Celery('x_network') # Using a string here means the worker doesn't have to serialize # the configuration object to child processes. # - namespace='CELERY' means all celery-related configuration keys # should have a `CELERY_` prefix. app.config_from_object('django.conf:settings') # Load task modules from all registered Django app configs.自动发现别的app里的tasks app.autodiscover_tasks(lambda: settings.INSTALLED_APPS) app.conf.CELERY_TIMEZONE = 'Asia/Shanghai' platforms.C_FORCE_ROOT = True
from __future__ import absolute_import, unicode_literals import os from celery import Celery # set the default Django settings module for the 'celery' program. os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'instagramDownloader.settings') app = Celery('instagramDownloader', broker='amqp://guest@localhost//') # Using a string here means the worker doesn't have to serialize # the configuration object to child processes. # - namespace='CELERY' means all celery-related configuration keys # should have a `CELERY_` prefix. app.config_from_object('django.conf:settings', namespace='CELERY') # Load task modules from all registered Django app configs. app.autodiscover_tasks()
from flask_restx import Api from flask_jwt_extended import JWTManager from flask_mail import Mail from flask_migrate import Migrate from flask_sqlalchemy import SQLAlchemy from flask_marshmallow import Marshmallow from celery import Celery jwt = JWTManager() db = SQLAlchemy() migrate = Migrate() api = Api() ma = Marshmallow() celery = Celery() mail = Mail()