funboost 50.2__tar.gz → 50.4__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 funboost might be problematic. Click here for more details.
- {funboost-50.2 → funboost-50.4}/PKG-INFO +174 -18
- funboost-50.2/funboost.egg-info/PKG-INFO → funboost-50.4/README.md +59 -47
- {funboost-50.2 → funboost-50.4}/funboost/__init__.py +1 -1
- {funboost-50.2 → funboost-50.4}/funboost/constant.py +4 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/base_consumer.py +95 -96
- {funboost-50.2 → funboost-50.4}/funboost/consumers/celery_consumer.py +1 -1
- {funboost-50.2 → funboost-50.4}/funboost/consumers/dramatiq_consumer.py +0 -5
- {funboost-50.2 → funboost-50.4}/funboost/consumers/grpc_consumer.py +2 -19
- funboost-50.4/funboost/consumers/http_consumer.py +138 -0
- funboost-50.4/funboost/consumers/http_consumer_aiohttp_old.py +113 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/huey_consumer.py +2 -5
- {funboost-50.2 → funboost-50.4}/funboost/consumers/kafka_consumer.py +1 -6
- {funboost-50.2 → funboost-50.4}/funboost/consumers/kafka_consumer_manually_commit.py +0 -1
- {funboost-50.2 → funboost-50.4}/funboost/consumers/kombu_consumer.py +0 -39
- {funboost-50.2 → funboost-50.4}/funboost/consumers/mysql_cdc_consumer.py +1 -3
- {funboost-50.2 → funboost-50.4}/funboost/consumers/pulsar_consumer.py +10 -5
- {funboost-50.2 → funboost-50.4}/funboost/consumers/rabbitmq_amqpstorm_consumer.py +7 -8
- funboost-50.4/funboost/consumers/rabbitmq_complex_routing_consumer.py +54 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/redis_consumer.py +1 -1
- {funboost-50.2 → funboost-50.4}/funboost/consumers/redis_consumer_ack_able.py +1 -1
- {funboost-50.2 → funboost-50.4}/funboost/consumers/redis_consumer_ack_using_timeout.py +2 -6
- {funboost-50.2 → funboost-50.4}/funboost/consumers/redis_consumer_priority.py +1 -1
- {funboost-50.2 → funboost-50.4}/funboost/consumers/redis_stream_consumer.py +1 -3
- {funboost-50.2 → funboost-50.4}/funboost/consumers/tcp_consumer.py +1 -1
- {funboost-50.2 → funboost-50.4}/funboost/consumers/udp_consumer.py +1 -1
- {funboost-50.2 → funboost-50.4}/funboost/consumers/zeromq_consumer.py +1 -1
- {funboost-50.2/funboost/contrib → funboost-50.4/funboost/contrib/save_function_result_status}/save_result_status_to_sqldb.py +8 -41
- funboost-50.4/funboost/contrib/save_function_result_status/save_result_status_use_dataset.py +47 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/booster.py +38 -3
- funboost-50.4/funboost/core/broker_kind__exclusive_config_default_define.py +229 -0
- funboost-50.4/funboost/core/funboost_time.py +51 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/func_params_model.py +28 -4
- {funboost-50.2 → funboost-50.4}/funboost/core/helper_funs.py +9 -8
- {funboost-50.2 → funboost-50.4}/funboost/core/msg_result_getter.py +27 -0
- {funboost-50.2 → funboost-50.4}/funboost/factories/broker_kind__publsiher_consumer_type_map.py +13 -3
- {funboost-50.2 → funboost-50.4}/funboost/funboost_config_deafult.py +0 -3
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/templates/fun_result_table.html +1 -1
- {funboost-50.2 → funboost-50.4}/funboost/publishers/base_publisher.py +8 -2
- funboost-50.4/funboost/publishers/http_publisher.py +53 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/rabbitmq_amqpstorm_publisher.py +8 -7
- funboost-50.4/funboost/publishers/rabbitmq_complex_routing_publisher.py +84 -0
- funboost-50.4/funboost/utils/func_timeout/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/redis_manager.py +11 -5
- funboost-50.2/README.md → funboost-50.4/funboost.egg-info/PKG-INFO +203 -12
- {funboost-50.2 → funboost-50.4}/funboost.egg-info/SOURCES.txt +7 -2
- {funboost-50.2 → funboost-50.4}/funboost.egg-info/requires.txt +3 -1
- {funboost-50.2 → funboost-50.4}/setup.py +8 -5
- funboost-50.2/LICENSE +0 -203
- funboost-50.2/funboost/consumers/http_consumer.py +0 -71
- funboost-50.2/funboost/core/funboost_time.py +0 -86
- funboost-50.2/funboost/publishers/http_publisher.py +0 -35
- {funboost-50.2 → funboost-50.4}/MANIFEST.in +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/__init__old.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/__main__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/assist/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/assist/celery_helper.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/assist/dramatiq_helper.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/assist/faststream_helper.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/assist/huey_helper.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/assist/rocketry_helper.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/assist/rq_helper.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/assist/rq_windows_worker.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/assist/taskiq_helper.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/beggar_version_implementation/beggar_redis_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/async_helper.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/async_pool_executor.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/backup/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/backup/async_pool_executor0223.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/backup/async_pool_executor_back.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/backup/async_pool_executor_janus.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/backup/grok_async_pool.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/base_pool_type.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/bounded_processpoolexcutor_gt_py37.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/bounded_processpoolexcutor_py36.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/bounded_threadpoolexcutor.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/concurrent_pool_with_multi_process.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/custom_evenlet_pool_executor.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/custom_gevent_pool_executor.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/custom_threadpool_executor.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/custom_threadpool_executor000.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/fixed_thread_pool.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/flexible_thread_pool.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/pool_commons.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/concurrent_pool/single_thread_executor.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/confirm_mixin.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/empty_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/faststream_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/http_consumer000.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/httpsqs_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/local_python_queue_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/memory_deque_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/mongomq_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/mqtt_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/nameko_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/nats_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/nsq_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/peewee_conusmer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/persist_queue_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/rabbitmq_pika_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/rabbitmq_pika_consumerv0.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/rabbitmq_rabbitpy_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/redis_brpoplpush_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/redis_consumer_simple.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/redis_filter.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/redis_pubsub_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/rocketmq_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/rq_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/sqlachemy_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/consumers/txt_file_consumer.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/contrib/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/contrib/api_publish_msg.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/contrib/cdc/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/contrib/cdc/mysql2mysql.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/contrib/django_db_deco.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/contrib/queue2queue.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/contrib/redis_consume_latest_msg_broker.py +0 -0
- {funboost-50.2/funboost/core → funboost-50.4/funboost/contrib/save_function_result_status}/__init__.py +0 -0
- {funboost-50.2/funboost/core/cli → funboost-50.4/funboost/core}/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/active_cousumer_info_getter.py +0 -0
- {funboost-50.2/funboost/queues → funboost-50.4/funboost/core/cli}/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/cli/discovery_boosters.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/cli/funboost_cli_user_templ.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/cli/funboost_fire.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/current_task.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/exceptions.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/fabric_deploy_helper.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/funboost_config_getter.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/function_result_status_config.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/function_result_status_saver.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/kill_remote_task.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/lazy_impoter.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/loggers.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/muliti_process_enhance.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/serialization.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/core/task_id_logger.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/factories/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/factories/consumer_factory.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/factories/publisher_factotry.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/__pycache__/app.cpython-313.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/__pycache__/app.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/__pycache__/app.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/__pycache__/functions.cpython-313.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/__pycache__/functions.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/__pycache__/functions.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/app.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/app_debug_start.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/functions.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/assets/css/custom.css +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/assets/css/jquery.mCustomScrollbar.min.css +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/assets/img/user.jpg +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/assets/js/custom.js +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/assets/js/jquery.mCustomScrollbar.concat.min.js +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css/content_page_style.css +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css/style.css +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/bootstrap-datetimepicker/4.17.47/css/bootstrap-datetimepicker.min.css +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/font-awesome/4.7.0/css/font-awesome.min.css +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/font-awesome/4.7.0/fonts/FontAwesome.otf +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/font-awesome/4.7.0/fonts/fontawesome-webfont.eot +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/font-awesome/4.7.0/fonts/fontawesome-webfont.svg +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/font-awesome/4.7.0/fonts/fontawesome-webfont.ttf +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/font-awesome/4.7.0/fonts/fontawesome-webfont.woff +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/font-awesome/4.7.0/fonts/fontawesome-webfont.woff2 +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/select2/4.0.13/css/select2.min.css +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/tabulator-tables@5.5.0/tabulator.min.css +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/tabulator-tables@5.5.0/tabulator_bootstrap3.min.css +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/twitter-bootstrap/3.3.7/css/bootstrap.min.css +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/twitter-bootstrap/3.3.7/fonts/glyphicons-halflings-regular.eot +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/twitter-bootstrap/3.3.7/fonts/glyphicons-halflings-regular.svg +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/twitter-bootstrap/3.3.7/fonts/glyphicons-halflings-regular.ttf +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/twitter-bootstrap/3.3.7/fonts/glyphicons-halflings-regular.woff +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/css_cdn/twitter-bootstrap/3.3.7/fonts/glyphicons-halflings-regular.woff2 +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/images/bg.jpg +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/images/favicon.ico +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/images/password.png +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/images/tick.png +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/images/user.png +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/js/bootstrap-datetimepicker.min.js +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/js/echarts.min.js +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/js/form-memory.js +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/js/jquery-1.11.0.min.js +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/js/moment-with-locales.min.js +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/js/select2.min.js +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/js_cdn/bootstrap/3.3.7/js/bootstrap.min.js +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/js_cdn/chart.js +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/static/js_cdn/tabulator-tables@5.5.0/dist/js/tabulator.min.js +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/templates/about.html +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/templates/conusme_speed.html +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/templates/index.html +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/templates/index_backup.html +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/templates/login.html +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/templates/queue_op.html +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/templates/rpc_call.html +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/templates/running_consumer_by_ip.html +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/function_result_web/templates/running_consumer_by_queue_name.html +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/celery_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/celery_publisher000.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/confluent_kafka_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/dramatiq_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/empty_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/faststream_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/grpc_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/httpsqs_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/huey_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/kafka_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/kombu_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/local_python_queue_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/meomory_deque_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/mongomq_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/mqtt_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/mysql_cdc_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/nameko_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/nats_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/nsq_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/peewee_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/persist_queue_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/pulsar_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/rabbitmq_pika_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/rabbitmq_rabbitpy_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/redis_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/redis_publisher_lpush.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/redis_publisher_priority.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/redis_publisher_simple.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/redis_pubsub_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/redis_queue_flush_mixin.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/redis_stream_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/rocketmq_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/rq_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/sqla_queue_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/tcp_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/txt_file_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/udp_publisher.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/publishers/zeromq_publisher.py +0 -0
- {funboost-50.2/funboost/utils/dependency_packages → funboost-50.4/funboost/queues}/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/queues/memory_queues_map.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/queues/peewee_queue.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/queues/sqla_queue.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/set_frame_config.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/timing_job/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/timing_job/apscheduler_use_mysql_store.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/timing_job/apscheduler_use_redis_store.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/timing_job/timing_job_base.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/timing_job/timing_push.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/apscheduler_monkey.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/block_exit.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/bulk_operation.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/class_utils.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/ctrl_c_end.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/decorators.py +0 -0
- {funboost-50.2/funboost/utils/dependency_packages_in_pythonpath → funboost-50.4/funboost/utils/dependency_packages}/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages/mongomq/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages/mongomq/lock.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages/mongomq/mongomq.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages/mongomq/mongomq0000.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages/mongomq/test.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages/mongomq/utils.py +0 -0
- {funboost-50.2/funboost/utils/func_timeout → funboost-50.4/funboost/utils/dependency_packages_in_pythonpath}/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-311.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-313.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/add_to_pythonpath.cpython-311.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/add_to_pythonpath.cpython-313.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/add_to_pythonpath.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/add_to_pythonpath.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/add_to_pythonpath.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/__init__.cpython-311.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/__init__.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/__init__.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/client.cpython-311.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/client.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/client.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/compat.cpython-311.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/compat.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/compat.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/connection.cpython-311.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/connection.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/connection.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/exceptions.cpython-311.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/exceptions.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/exceptions.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/lock.cpython-311.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/lock.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/lock.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/utils.cpython-311.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/utils.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/utils.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/client.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/compat.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/connection.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/exceptions.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/lock.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/log.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/py.typed +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/readme.md +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/sentinel.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/aioredis/utils.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/StoppableThread.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__init__.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/StoppableThread.cpython-311.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/StoppableThread.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/StoppableThread.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/__init__.cpython-311.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/__init__.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/__init__.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/dafunc.cpython-311.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/dafunc.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/dafunc.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/exceptions.cpython-311.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/exceptions.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/exceptions.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/py3_raise.cpython-311.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/py3_raise.cpython-37.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/py3_raise.cpython-39.pyc +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/dafunc.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/dafunc2222.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/exceptions.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/py2_raise.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/py3_raise.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/dependency_packages_in_pythonpath/readme.md +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/develop_log.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/expire_lock.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/func_timeout/StoppableThread.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/func_timeout/dafunc.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/func_timeout/exceptions.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/func_timeout/py2_raise.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/func_timeout/py3_raise.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/json_helper.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/mongo_util.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/monkey_color_log.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/monkey_patches.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/mqtt_util.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/paramiko_util.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/rabbitmq_factory.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/redis_manager_old.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/resource_monitoring.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/restart_python.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/simple_data_class.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/str_utils.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/time_util.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost/utils/un_strict_json_dumps.py +0 -0
- {funboost-50.2 → funboost-50.4}/funboost.egg-info/dependency_links.txt +0 -0
- {funboost-50.2 → funboost-50.4}/funboost.egg-info/entry_points.txt +0 -0
- {funboost-50.2 → funboost-50.4}/funboost.egg-info/top_level.txt +0 -0
- {funboost-50.2 → funboost-50.4}/setup.cfg +0 -0
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: funboost
|
|
3
|
-
Version: 50.
|
|
3
|
+
Version: 50.4
|
|
4
4
|
Summary: pip install funboost,python全功能分布式函数调度框架,funboost的功能是全面性重量级,用户能想得到的功能99%全都有;funboost的使用方式是轻量级,只有@boost一行代码需要写。支持python所有类型的并发模式和一切知名消息队列中间件,支持如 celery dramatiq等框架整体作为funboost中间件,python函数加速器,框架包罗万象,用户能想到的控制功能全都有。一统编程思维,兼容50% python业务场景,适用范围广。只需要一行代码即可分布式执行python一切函数,funboost web manager 方便查看和管理消费函数;99%用过funboost的pythoner 感受是 简易 方便 强劲 强大,相见恨晚
|
|
5
5
|
Home-page: https://github.com/ydf0509/funboost
|
|
6
6
|
Author: bfzs
|
|
7
7
|
Author-email: ydf0509@sohu.com
|
|
8
8
|
Maintainer: ydf
|
|
9
9
|
Maintainer-email: ydf0509@sohu.com
|
|
10
|
-
License: BSD
|
|
10
|
+
License: BSD-3-Clause
|
|
11
11
|
Keywords: funboost,distributed-framework,function-scheduling,rabbitmq,rocketmq,kafka,nsq,redis,disk,sqlachemy,consume-confirm,timing,task-scheduling,apscheduler,pulsar,mqtt,kombu,的,celery,框架,分布式调度
|
|
12
12
|
Platform: all
|
|
13
13
|
Classifier: Development Status :: 4 - Beta
|
|
14
14
|
Classifier: Operating System :: OS Independent
|
|
15
15
|
Classifier: Intended Audience :: Developers
|
|
16
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
17
16
|
Classifier: Programming Language :: Python
|
|
18
17
|
Classifier: Programming Language :: Python :: Implementation
|
|
19
18
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -28,16 +27,142 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
28
27
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
29
28
|
Classifier: Topic :: Software Development :: Libraries
|
|
30
29
|
Description-Content-Type: text/markdown
|
|
30
|
+
Requires-Dist: nb_log>=13.9
|
|
31
|
+
Requires-Dist: nb_libs>=1.9
|
|
32
|
+
Requires-Dist: nb_time>=2.7
|
|
33
|
+
Requires-Dist: pymongo>=4.6.3
|
|
34
|
+
Requires-Dist: AMQPStorm==2.10.6
|
|
35
|
+
Requires-Dist: rabbitpy==2.0.1
|
|
36
|
+
Requires-Dist: decorator==5.1.1
|
|
37
|
+
Requires-Dist: tomorrow3==1.1.0
|
|
38
|
+
Requires-Dist: persist-queue>=0.4.2
|
|
39
|
+
Requires-Dist: apscheduler<4.0.0,>=3.10.1
|
|
40
|
+
Requires-Dist: pikav0
|
|
41
|
+
Requires-Dist: pikav1
|
|
42
|
+
Requires-Dist: redis2
|
|
43
|
+
Requires-Dist: redis3
|
|
44
|
+
Requires-Dist: redis5
|
|
45
|
+
Requires-Dist: redis
|
|
46
|
+
Requires-Dist: setuptools_rust
|
|
47
|
+
Requires-Dist: fabric2>=2.6.0
|
|
48
|
+
Requires-Dist: nb_filelock
|
|
49
|
+
Requires-Dist: pysnooper
|
|
50
|
+
Requires-Dist: deprecated
|
|
51
|
+
Requires-Dist: cryptography
|
|
52
|
+
Requires-Dist: auto_run_on_remote
|
|
53
|
+
Requires-Dist: frozenlist
|
|
54
|
+
Requires-Dist: fire
|
|
55
|
+
Requires-Dist: pydantic
|
|
56
|
+
Requires-Dist: orjson
|
|
57
|
+
Requires-Dist: async-timeout
|
|
58
|
+
Requires-Dist: typing-extensions
|
|
31
59
|
Provides-Extra: all
|
|
32
|
-
|
|
60
|
+
Requires-Dist: confluent_kafka==1.7.0; extra == "all"
|
|
61
|
+
Requires-Dist: pulsar-client==3.1.0; python_version >= "3.7" and extra == "all"
|
|
62
|
+
Requires-Dist: celery; extra == "all"
|
|
63
|
+
Requires-Dist: flower; extra == "all"
|
|
64
|
+
Requires-Dist: nameko==2.14.1; extra == "all"
|
|
65
|
+
Requires-Dist: sqlalchemy==1.4.13; extra == "all"
|
|
66
|
+
Requires-Dist: sqlalchemy_utils==0.36.1; extra == "all"
|
|
67
|
+
Requires-Dist: dramatiq==1.14.2; extra == "all"
|
|
68
|
+
Requires-Dist: huey==2.4.5; extra == "all"
|
|
69
|
+
Requires-Dist: rq==1.15.0; extra == "all"
|
|
70
|
+
Requires-Dist: kombu; extra == "all"
|
|
71
|
+
Requires-Dist: elasticsearch; extra == "all"
|
|
72
|
+
Requires-Dist: gnsq==1.0.1; extra == "all"
|
|
73
|
+
Requires-Dist: psutil; extra == "all"
|
|
74
|
+
Requires-Dist: peewee==3.17.3; extra == "all"
|
|
75
|
+
Requires-Dist: nats-python; extra == "all"
|
|
76
|
+
Requires-Dist: aiohttp==3.8.3; extra == "all"
|
|
77
|
+
Requires-Dist: paho-mqtt; extra == "all"
|
|
78
|
+
Requires-Dist: rocketmq; extra == "all"
|
|
79
|
+
Requires-Dist: zmq; extra == "all"
|
|
80
|
+
Requires-Dist: pyzmq; extra == "all"
|
|
81
|
+
Requires-Dist: kafka-python==2.0.2; extra == "all"
|
|
82
|
+
Requires-Dist: eventlet==0.33.3; extra == "all"
|
|
83
|
+
Requires-Dist: gevent==22.10.2; extra == "all"
|
|
84
|
+
Requires-Dist: mysql-replication==1.0.9; extra == "all"
|
|
85
|
+
Requires-Dist: grpcio==1.60.0; extra == "all"
|
|
86
|
+
Requires-Dist: grpcio-tools==1.60.0; extra == "all"
|
|
87
|
+
Requires-Dist: protobuf==4.25.1; extra == "all"
|
|
88
|
+
Requires-Dist: waitress; extra == "all"
|
|
89
|
+
Requires-Dist: flask; extra == "all"
|
|
90
|
+
Requires-Dist: flask_bootstrap; extra == "all"
|
|
91
|
+
Requires-Dist: flask_wtf; extra == "all"
|
|
92
|
+
Requires-Dist: wtforms; extra == "all"
|
|
93
|
+
Requires-Dist: flask_login; extra == "all"
|
|
94
|
+
Provides-Extra: extra-brokers
|
|
95
|
+
Requires-Dist: confluent_kafka==1.7.0; extra == "extra-brokers"
|
|
96
|
+
Requires-Dist: pulsar-client==3.1.0; python_version >= "3.7" and extra == "extra-brokers"
|
|
97
|
+
Requires-Dist: celery; extra == "extra-brokers"
|
|
98
|
+
Requires-Dist: flower; extra == "extra-brokers"
|
|
99
|
+
Requires-Dist: nameko==2.14.1; extra == "extra-brokers"
|
|
100
|
+
Requires-Dist: sqlalchemy==1.4.13; extra == "extra-brokers"
|
|
101
|
+
Requires-Dist: sqlalchemy_utils==0.36.1; extra == "extra-brokers"
|
|
102
|
+
Requires-Dist: dramatiq==1.14.2; extra == "extra-brokers"
|
|
103
|
+
Requires-Dist: huey==2.4.5; extra == "extra-brokers"
|
|
104
|
+
Requires-Dist: rq==1.15.0; extra == "extra-brokers"
|
|
105
|
+
Requires-Dist: kombu; extra == "extra-brokers"
|
|
106
|
+
Requires-Dist: elasticsearch; extra == "extra-brokers"
|
|
107
|
+
Requires-Dist: gnsq==1.0.1; extra == "extra-brokers"
|
|
108
|
+
Requires-Dist: psutil; extra == "extra-brokers"
|
|
109
|
+
Requires-Dist: peewee==3.17.3; extra == "extra-brokers"
|
|
110
|
+
Requires-Dist: nats-python; extra == "extra-brokers"
|
|
111
|
+
Requires-Dist: aiohttp==3.8.3; extra == "extra-brokers"
|
|
112
|
+
Requires-Dist: paho-mqtt; extra == "extra-brokers"
|
|
113
|
+
Requires-Dist: rocketmq; extra == "extra-brokers"
|
|
114
|
+
Requires-Dist: zmq; extra == "extra-brokers"
|
|
115
|
+
Requires-Dist: pyzmq; extra == "extra-brokers"
|
|
116
|
+
Requires-Dist: kafka-python==2.0.2; extra == "extra-brokers"
|
|
117
|
+
Requires-Dist: eventlet==0.33.3; extra == "extra-brokers"
|
|
118
|
+
Requires-Dist: gevent==22.10.2; extra == "extra-brokers"
|
|
119
|
+
Requires-Dist: mysql-replication==1.0.9; extra == "extra-brokers"
|
|
120
|
+
Requires-Dist: grpcio==1.60.0; extra == "extra-brokers"
|
|
121
|
+
Requires-Dist: grpcio-tools==1.60.0; extra == "extra-brokers"
|
|
122
|
+
Requires-Dist: protobuf==4.25.1; extra == "extra-brokers"
|
|
123
|
+
Requires-Dist: waitress; extra == "extra-brokers"
|
|
33
124
|
Provides-Extra: flask
|
|
34
|
-
|
|
125
|
+
Requires-Dist: flask; extra == "flask"
|
|
126
|
+
Requires-Dist: flask_bootstrap; extra == "flask"
|
|
127
|
+
Requires-Dist: flask_wtf; extra == "flask"
|
|
128
|
+
Requires-Dist: wtforms; extra == "flask"
|
|
129
|
+
Requires-Dist: flask_login; extra == "flask"
|
|
130
|
+
Dynamic: author
|
|
131
|
+
Dynamic: author-email
|
|
132
|
+
Dynamic: classifier
|
|
133
|
+
Dynamic: description
|
|
134
|
+
Dynamic: description-content-type
|
|
135
|
+
Dynamic: home-page
|
|
136
|
+
Dynamic: keywords
|
|
137
|
+
Dynamic: license
|
|
138
|
+
Dynamic: maintainer
|
|
139
|
+
Dynamic: maintainer-email
|
|
140
|
+
Dynamic: platform
|
|
141
|
+
Dynamic: provides-extra
|
|
142
|
+
Dynamic: requires-dist
|
|
143
|
+
Dynamic: summary
|
|
35
144
|
|
|
36
145
|
# 1.python万能分布式函数调度框架简funboost简介
|
|
37
146
|
|
|
147
|
+
funboost教程: [https://funboost.readthedocs.io/zh-cn/latest/index.html](https://funboost.readthedocs.io/zh-cn/latest/index.html)
|
|
148
|
+
|
|
38
149
|
## 1.0 funboost 框架说明介绍
|
|
39
150
|
|
|
40
|
-
`funboost`是一个
|
|
151
|
+
`funboost`是一个 万能 强大 简单 自由 的 `python` 全功能分布式调度框架,它的作用是给用户任意项目的任意函数赋能.
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
<h4>📹 观看 funboost 视频</h4>
|
|
155
|
+
<video controls width="800"
|
|
156
|
+
src="https://ydf0509.github.io/funboost_git_pages/%E8%A7%86%E9%A2%91-Funboost_%E8%A7%86%E9%A2%91.mp4">
|
|
157
|
+
您的浏览器不支持视频播放。
|
|
158
|
+
</video>
|
|
159
|
+
|
|
160
|
+
<h4>🎧 收听 funboost 音频</h4>
|
|
161
|
+
<audio controls
|
|
162
|
+
src="https://ydf0509.github.io/funboost_git_pages/%E9%9F%B3%E9%A2%91-funboost_%E9%9F%B3%E9%A2%91.mp4">
|
|
163
|
+
您的浏览器不支持音频播放。
|
|
164
|
+
</audio>
|
|
165
|
+
|
|
41
166
|
|
|
42
167
|
### 1.0.0 funboost 框架安装方式
|
|
43
168
|
|
|
@@ -59,6 +184,36 @@ pip install funboost --upgrade
|
|
|
59
184
|
它证明了一个框架可以既功能丰富又极其易用,这是对传统Python框架设计的一次巧妙超越。
|
|
60
185
|
只需要一行`@boost`代码即可分布式执行`python`一切任意函数,99%用过`funboost`的`pythoner` 感受是 方便 高速 强大 自由。
|
|
61
186
|
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
#### funboost的适用场景:
|
|
190
|
+
```
|
|
191
|
+
`funboost`是python函数加速器,框架包罗万象,一统编程思维,兼容50% `python`编程业务场景,适用范围广,任何新老项目都能用到。
|
|
192
|
+
`funboost` 用途概念就是常规经典的 生产者 + 消息队列中间件 + 消费者 编程思想。
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
需要分布式? 好,funboost支持40多种消息队列,任何只要是稍微小有名气的消息队列和甚至任务框架,funboost全都支持.
|
|
197
|
+
需要并发? 好,那就把Python所有的并发模式(线程、协程、多进程)都给你,并且让它们可以叠加。
|
|
198
|
+
需要可靠性? 好,那就把消费确认(ACK)、自动重试、死信队列(DLQ)、断点续爬做到极致,让你无惧任何宕机。
|
|
199
|
+
需要控制力? 好,那就给你精准的QPS控频、分布式控频、定时任务、延时任务、超时杀死、任务过滤等三十多种控制武器。
|
|
200
|
+
需要监控? 好,那就给你一个开箱即用的Web UI,让你对任务状态、队列情况、消费者实例了如指掌。
|
|
201
|
+
需要自由? 好,那就让你用最普通的Python函数,不侵入你的代码,不规定你的项目结构,让你随时能用,随时能走。
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
#### 有人问 funboost 是做什么的? 怎么回答最合适?
|
|
205
|
+
|
|
206
|
+
这个问题很难精确的一句话概括回答,因为funboost是万能框架,几乎所有的python编程业务场景都能用到,答案是发散的不是唯一的。
|
|
207
|
+
|
|
208
|
+
发散的答案, 见文档 6.0b 章节 [https://funboost.readthedocs.io/zh-cn/latest/articles/c6.html#b-funboost](https://funboost.readthedocs.io/zh-cn/latest/articles/c6.html#b-funboost)
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
#### 最最最重要的第一个问题: "funboost这个框架怎么样呀,值得我学习使用吗?"
|
|
212
|
+
|
|
213
|
+
如果选择学习使用了一个 用途狭窄 功能不好 性能不好 用法复杂 写法不自由 的框架,简直是浪费时间浪费生命.
|
|
214
|
+
|
|
215
|
+
问题答案, 见文档 6.0 章节 [https://funboost.readthedocs.io/zh-cn/latest/articles/c6.html#funboost](https://funboost.readthedocs.io/zh-cn/latest/articles/c6.html#funboost)
|
|
216
|
+
|
|
62
217
|
#### funboost与celery的理念区别
|
|
63
218
|
**共同点:**
|
|
64
219
|
```
|
|
@@ -69,11 +224,15 @@ pip install funboost --upgrade
|
|
|
69
224
|
|
|
70
225
|
**区别:**
|
|
71
226
|
```
|
|
72
|
-
`celery`是`围绕celery框架组织代码,属于重型奴役框架`,你围绕`celery`项目结构和`celery app`这样中央app实例 转,去新增定义`@app.task`函数,
|
|
73
|
-
|
|
227
|
+
`celery`是`围绕celery框架组织代码,属于重型奴役框架`,你围绕`celery`项目结构和`celery app`这样中央app实例 转,去新增定义`@app.task`函数,
|
|
228
|
+
app才是一等公民,task函数是二等公民
|
|
229
|
+
|
|
230
|
+
`funboost`是`函数增强器,属于轻型自由框架`,你可以对任意项目任意位置的新旧函数加上`@boost`装饰器,是给你函数赋能插上强大翅膀,
|
|
231
|
+
用户不需要围绕`funboost`或某个中央app实例来组织代码结构,用户函数自身就是一等公民
|
|
74
232
|
|
|
75
233
|
2个框架最显而易见明显差别就是 `funboost` 无需 `@app.boost` 而是直接`@boost`,这个小区别,造成影响深远的框架用法和理念区别.
|
|
76
|
-
`funboost`任务控制功能更多,支持broker中间件种类更多,并发方式更多,发布性能超越celery 22倍,消费性能超越 celery
|
|
234
|
+
`funboost`任务控制功能更多,支持broker中间件种类更多,并发方式更多,发布性能超越celery 22倍,消费性能超越 celery 46倍,
|
|
235
|
+
性能是高几个数量级的断崖式遥遥领先,但反而使用比celery简单得多.
|
|
77
236
|
```
|
|
78
237
|
|
|
79
238
|
#### **funboost 支持的并发模式:**
|
|
@@ -88,11 +247,8 @@ pip install funboost --upgrade
|
|
|
88
247
|
并且`funboost` 将 `mysql cdc` 这种`mysql binlog`变化捕获作为`broker`,使得`funboost`可以是事件驱动的,远超`celery`的理念.
|
|
89
248
|
`funboost` 还轻松内置了将各种三方消费框架作为`broker`,例如直接将 `celery` `dramatiq` `huey` `rq` `nameko` 作为`broker`,使用这些框架的核心来执行用户的函数
|
|
90
249
|
```
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
`funboost`是python函数加速器,框架包罗万象,一统编程思维,兼容50% `python`编程业务场景,适用范围广,任何新老项目都能用到。
|
|
94
|
-
`funboost` 用途概念就是常规经典的 生产者 + 消息队列中间件 + 消费者 编程思想。
|
|
95
|
-
```
|
|
250
|
+
|
|
251
|
+
|
|
96
252
|
|
|
97
253
|
|
|
98
254
|
#### **funboost 学习难吗?**
|
|
@@ -111,7 +267,7 @@ pip install funboost --upgrade
|
|
|
111
267
|
通过`funboost web manager` 管理系统,支持全面 查看 监控 管理 `funboost`的任务消费。
|
|
112
268
|
|
|
113
269
|
#### **funboost的性能超过`celery`一个数量级,不是一个档次上:**
|
|
114
|
-
`funboost`发布性能是`celery`的22倍,`funboost`消费性能是`celery`的
|
|
270
|
+
`funboost`发布性能是`celery`的22倍,`funboost`消费性能是`celery`的46倍! 控制变量法对比方式,见文档2.6章节
|
|
115
271
|
|
|
116
272
|
|
|
117
273
|
#### **funboost框架评价:**
|
|
@@ -140,7 +296,7 @@ funboost 框架和一般的框架不一样,因为只有一行代码需要掌
|
|
|
140
296
|
|
|
141
297
|
只要用过 `funboost` 的用户,都评价比 `celery` 的用法简单几百倍.
|
|
142
298
|
|
|
143
|
-
用户可以看文档`
|
|
299
|
+
用户可以看文档`14`章节,怎么正确的用`ai`大模型掌握`funboost`的用法
|
|
144
300
|
```
|
|
145
301
|
|
|
146
302
|
[**1.python万能分布式函数调度框架简funboost简介**](https://funboost.readthedocs.io/zh-cn/latest/articles/c1.html)
|
|
@@ -644,7 +800,7 @@ python比其他语言更需要分布式函数调度框架来执行函数,有
|
|
|
644
800
|
大部分框架,都要深入使用里面的很多个类,还需要继承组合一顿。
|
|
645
801
|
```
|
|
646
802
|
|
|
647
|
-
用户也可以按照 文档
|
|
803
|
+
用户也可以按照 文档14章节的方式,使用ai来掌握`funboost`
|
|
648
804
|
|
|
649
805
|
## 1.6 funboost支持支持celery框架整体作为funboost的broker (2023.4新增)
|
|
650
806
|
|
|
@@ -1,43 +1,24 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: funboost
|
|
3
|
-
Version: 50.2
|
|
4
|
-
Summary: pip install funboost,python全功能分布式函数调度框架,funboost的功能是全面性重量级,用户能想得到的功能99%全都有;funboost的使用方式是轻量级,只有@boost一行代码需要写。支持python所有类型的并发模式和一切知名消息队列中间件,支持如 celery dramatiq等框架整体作为funboost中间件,python函数加速器,框架包罗万象,用户能想到的控制功能全都有。一统编程思维,兼容50% python业务场景,适用范围广。只需要一行代码即可分布式执行python一切函数,funboost web manager 方便查看和管理消费函数;99%用过funboost的pythoner 感受是 简易 方便 强劲 强大,相见恨晚
|
|
5
|
-
Home-page: https://github.com/ydf0509/funboost
|
|
6
|
-
Author: bfzs
|
|
7
|
-
Author-email: ydf0509@sohu.com
|
|
8
|
-
Maintainer: ydf
|
|
9
|
-
Maintainer-email: ydf0509@sohu.com
|
|
10
|
-
License: BSD License
|
|
11
|
-
Keywords: funboost,distributed-framework,function-scheduling,rabbitmq,rocketmq,kafka,nsq,redis,disk,sqlachemy,consume-confirm,timing,task-scheduling,apscheduler,pulsar,mqtt,kombu,的,celery,框架,分布式调度
|
|
12
|
-
Platform: all
|
|
13
|
-
Classifier: Development Status :: 4 - Beta
|
|
14
|
-
Classifier: Operating System :: OS Independent
|
|
15
|
-
Classifier: Intended Audience :: Developers
|
|
16
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
17
|
-
Classifier: Programming Language :: Python
|
|
18
|
-
Classifier: Programming Language :: Python :: Implementation
|
|
19
|
-
Classifier: Programming Language :: Python :: 3
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
24
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
25
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
26
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
27
|
-
Classifier: Programming Language :: Python :: 3.14
|
|
28
|
-
Classifier: Programming Language :: Python :: 3 :: Only
|
|
29
|
-
Classifier: Topic :: Software Development :: Libraries
|
|
30
|
-
Description-Content-Type: text/markdown
|
|
31
|
-
Provides-Extra: all
|
|
32
|
-
Provides-Extra: extra_brokers
|
|
33
|
-
Provides-Extra: flask
|
|
34
|
-
License-File: LICENSE
|
|
35
|
-
|
|
36
1
|
# 1.python万能分布式函数调度框架简funboost简介
|
|
37
2
|
|
|
3
|
+
funboost教程: [https://funboost.readthedocs.io/zh-cn/latest/index.html](https://funboost.readthedocs.io/zh-cn/latest/index.html)
|
|
4
|
+
|
|
38
5
|
## 1.0 funboost 框架说明介绍
|
|
39
6
|
|
|
40
|
-
`funboost`是一个
|
|
7
|
+
`funboost`是一个 万能 强大 简单 自由 的 `python` 全功能分布式调度框架,它的作用是给用户任意项目的任意函数赋能.
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
<h4>📹 观看 funboost 视频</h4>
|
|
11
|
+
<video controls width="800"
|
|
12
|
+
src="https://ydf0509.github.io/funboost_git_pages/%E8%A7%86%E9%A2%91-Funboost_%E8%A7%86%E9%A2%91.mp4">
|
|
13
|
+
您的浏览器不支持视频播放。
|
|
14
|
+
</video>
|
|
15
|
+
|
|
16
|
+
<h4>🎧 收听 funboost 音频</h4>
|
|
17
|
+
<audio controls
|
|
18
|
+
src="https://ydf0509.github.io/funboost_git_pages/%E9%9F%B3%E9%A2%91-funboost_%E9%9F%B3%E9%A2%91.mp4">
|
|
19
|
+
您的浏览器不支持音频播放。
|
|
20
|
+
</audio>
|
|
21
|
+
|
|
41
22
|
|
|
42
23
|
### 1.0.0 funboost 框架安装方式
|
|
43
24
|
|
|
@@ -59,6 +40,36 @@ pip install funboost --upgrade
|
|
|
59
40
|
它证明了一个框架可以既功能丰富又极其易用,这是对传统Python框架设计的一次巧妙超越。
|
|
60
41
|
只需要一行`@boost`代码即可分布式执行`python`一切任意函数,99%用过`funboost`的`pythoner` 感受是 方便 高速 强大 自由。
|
|
61
42
|
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
#### funboost的适用场景:
|
|
46
|
+
```
|
|
47
|
+
`funboost`是python函数加速器,框架包罗万象,一统编程思维,兼容50% `python`编程业务场景,适用范围广,任何新老项目都能用到。
|
|
48
|
+
`funboost` 用途概念就是常规经典的 生产者 + 消息队列中间件 + 消费者 编程思想。
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
需要分布式? 好,funboost支持40多种消息队列,任何只要是稍微小有名气的消息队列和甚至任务框架,funboost全都支持.
|
|
53
|
+
需要并发? 好,那就把Python所有的并发模式(线程、协程、多进程)都给你,并且让它们可以叠加。
|
|
54
|
+
需要可靠性? 好,那就把消费确认(ACK)、自动重试、死信队列(DLQ)、断点续爬做到极致,让你无惧任何宕机。
|
|
55
|
+
需要控制力? 好,那就给你精准的QPS控频、分布式控频、定时任务、延时任务、超时杀死、任务过滤等三十多种控制武器。
|
|
56
|
+
需要监控? 好,那就给你一个开箱即用的Web UI,让你对任务状态、队列情况、消费者实例了如指掌。
|
|
57
|
+
需要自由? 好,那就让你用最普通的Python函数,不侵入你的代码,不规定你的项目结构,让你随时能用,随时能走。
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
#### 有人问 funboost 是做什么的? 怎么回答最合适?
|
|
61
|
+
|
|
62
|
+
这个问题很难精确的一句话概括回答,因为funboost是万能框架,几乎所有的python编程业务场景都能用到,答案是发散的不是唯一的。
|
|
63
|
+
|
|
64
|
+
发散的答案, 见文档 6.0b 章节 [https://funboost.readthedocs.io/zh-cn/latest/articles/c6.html#b-funboost](https://funboost.readthedocs.io/zh-cn/latest/articles/c6.html#b-funboost)
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
#### 最最最重要的第一个问题: "funboost这个框架怎么样呀,值得我学习使用吗?"
|
|
68
|
+
|
|
69
|
+
如果选择学习使用了一个 用途狭窄 功能不好 性能不好 用法复杂 写法不自由 的框架,简直是浪费时间浪费生命.
|
|
70
|
+
|
|
71
|
+
问题答案, 见文档 6.0 章节 [https://funboost.readthedocs.io/zh-cn/latest/articles/c6.html#funboost](https://funboost.readthedocs.io/zh-cn/latest/articles/c6.html#funboost)
|
|
72
|
+
|
|
62
73
|
#### funboost与celery的理念区别
|
|
63
74
|
**共同点:**
|
|
64
75
|
```
|
|
@@ -69,11 +80,15 @@ pip install funboost --upgrade
|
|
|
69
80
|
|
|
70
81
|
**区别:**
|
|
71
82
|
```
|
|
72
|
-
`celery`是`围绕celery框架组织代码,属于重型奴役框架`,你围绕`celery`项目结构和`celery app`这样中央app实例 转,去新增定义`@app.task`函数,
|
|
73
|
-
|
|
83
|
+
`celery`是`围绕celery框架组织代码,属于重型奴役框架`,你围绕`celery`项目结构和`celery app`这样中央app实例 转,去新增定义`@app.task`函数,
|
|
84
|
+
app才是一等公民,task函数是二等公民
|
|
85
|
+
|
|
86
|
+
`funboost`是`函数增强器,属于轻型自由框架`,你可以对任意项目任意位置的新旧函数加上`@boost`装饰器,是给你函数赋能插上强大翅膀,
|
|
87
|
+
用户不需要围绕`funboost`或某个中央app实例来组织代码结构,用户函数自身就是一等公民
|
|
74
88
|
|
|
75
89
|
2个框架最显而易见明显差别就是 `funboost` 无需 `@app.boost` 而是直接`@boost`,这个小区别,造成影响深远的框架用法和理念区别.
|
|
76
|
-
`funboost`任务控制功能更多,支持broker中间件种类更多,并发方式更多,发布性能超越celery 22倍,消费性能超越 celery
|
|
90
|
+
`funboost`任务控制功能更多,支持broker中间件种类更多,并发方式更多,发布性能超越celery 22倍,消费性能超越 celery 46倍,
|
|
91
|
+
性能是高几个数量级的断崖式遥遥领先,但反而使用比celery简单得多.
|
|
77
92
|
```
|
|
78
93
|
|
|
79
94
|
#### **funboost 支持的并发模式:**
|
|
@@ -88,11 +103,8 @@ pip install funboost --upgrade
|
|
|
88
103
|
并且`funboost` 将 `mysql cdc` 这种`mysql binlog`变化捕获作为`broker`,使得`funboost`可以是事件驱动的,远超`celery`的理念.
|
|
89
104
|
`funboost` 还轻松内置了将各种三方消费框架作为`broker`,例如直接将 `celery` `dramatiq` `huey` `rq` `nameko` 作为`broker`,使用这些框架的核心来执行用户的函数
|
|
90
105
|
```
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
`funboost`是python函数加速器,框架包罗万象,一统编程思维,兼容50% `python`编程业务场景,适用范围广,任何新老项目都能用到。
|
|
94
|
-
`funboost` 用途概念就是常规经典的 生产者 + 消息队列中间件 + 消费者 编程思想。
|
|
95
|
-
```
|
|
106
|
+
|
|
107
|
+
|
|
96
108
|
|
|
97
109
|
|
|
98
110
|
#### **funboost 学习难吗?**
|
|
@@ -111,7 +123,7 @@ pip install funboost --upgrade
|
|
|
111
123
|
通过`funboost web manager` 管理系统,支持全面 查看 监控 管理 `funboost`的任务消费。
|
|
112
124
|
|
|
113
125
|
#### **funboost的性能超过`celery`一个数量级,不是一个档次上:**
|
|
114
|
-
`funboost`发布性能是`celery`的22倍,`funboost`消费性能是`celery`的
|
|
126
|
+
`funboost`发布性能是`celery`的22倍,`funboost`消费性能是`celery`的46倍! 控制变量法对比方式,见文档2.6章节
|
|
115
127
|
|
|
116
128
|
|
|
117
129
|
#### **funboost框架评价:**
|
|
@@ -140,7 +152,7 @@ funboost 框架和一般的框架不一样,因为只有一行代码需要掌
|
|
|
140
152
|
|
|
141
153
|
只要用过 `funboost` 的用户,都评价比 `celery` 的用法简单几百倍.
|
|
142
154
|
|
|
143
|
-
用户可以看文档`
|
|
155
|
+
用户可以看文档`14`章节,怎么正确的用`ai`大模型掌握`funboost`的用法
|
|
144
156
|
```
|
|
145
157
|
|
|
146
158
|
[**1.python万能分布式函数调度框架简funboost简介**](https://funboost.readthedocs.io/zh-cn/latest/articles/c1.html)
|
|
@@ -644,7 +656,7 @@ python比其他语言更需要分布式函数调度框架来执行函数,有
|
|
|
644
656
|
大部分框架,都要深入使用里面的很多个类,还需要继承组合一顿。
|
|
645
657
|
```
|
|
646
658
|
|
|
647
|
-
用户也可以按照 文档
|
|
659
|
+
用户也可以按照 文档14章节的方式,使用ai来掌握`funboost`
|
|
648
660
|
|
|
649
661
|
## 1.6 funboost支持支持celery框架整体作为funboost的broker (2023.4新增)
|
|
650
662
|
|
|
@@ -27,6 +27,10 @@ class BrokerEnum:
|
|
|
27
27
|
RABBITMQ_AMQPSTORM = 'RABBITMQ_AMQPSTORM' # 使用 amqpstorm 包操作rabbitmq 作为 分布式消息队列,支持消费确认.强烈推荐这个作为funboost中间件。
|
|
28
28
|
RABBITMQ = RABBITMQ_AMQPSTORM
|
|
29
29
|
|
|
30
|
+
# 2025-10 内置新增, 支持rabbitmq 所有路由模式,包括 fanout,direct,topic,headers. 使用概念更复杂
|
|
31
|
+
# 用法见 test_frame/test_broker_rabbitmq/test_rabbitmq_complex_routing 中的demo代码.
|
|
32
|
+
RABBITMQ_COMPLEX_ROUTING = 'RABBITMQ_COMPLEX_ROUTING'
|
|
33
|
+
|
|
30
34
|
RABBITMQ_RABBITPY = 'RABBITMQ_RABBITPY' # 使用 rabbitpy 包操作rabbitmq 作为 分布式消息队列,支持消费确认,不建议使用
|
|
31
35
|
|
|
32
36
|
"""
|