funboost 43.9__tar.gz → 44.1__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-43.9/funboost.egg-info → funboost-44.1}/PKG-INFO +8 -10
- {funboost-43.9 → funboost-44.1}/README.md +6 -9
- {funboost-43.9 → funboost-44.1}/funboost/__init__.py +2 -1
- {funboost-43.9 → funboost-44.1}/funboost/consumers/base_consumer.py +14 -13
- {funboost-43.9 → funboost-44.1}/funboost/core/fabric_deploy_helper.py +3 -3
- {funboost-43.9 → funboost-44.1}/funboost/core/func_params_model.py +4 -3
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/dafunc.cpython-39.pyc +0 -0
- {funboost-43.9 → funboost-44.1/funboost.egg-info}/PKG-INFO +8 -10
- {funboost-43.9 → funboost-44.1}/funboost.egg-info/entry_points.txt +1 -0
- {funboost-43.9 → funboost-44.1}/LICENSE +0 -0
- {funboost-43.9 → funboost-44.1}/MANIFEST.in +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/__init__old.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/__main__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/assist/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/assist/celery_helper.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/assist/dramatiq_helper.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/assist/huey_helper.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/assist/rocketry_helper.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/assist/rq_helper.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/assist/rq_windows_worker.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/beggar_version_implementation/beggar_redis_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/async_helper.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/async_pool_executor.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/backup/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/backup/async_pool_executor0223.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/backup/async_pool_executor_back.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/backup/async_pool_executor_janus.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/base_pool_type.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/bounded_processpoolexcutor_gt_py37.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/bounded_processpoolexcutor_py36.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/bounded_threadpoolexcutor.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/concurrent_pool_with_multi_process.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/custom_evenlet_pool_executor.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/custom_gevent_pool_executor.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/custom_threadpool_executor.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/custom_threadpool_executor000.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/fixed_thread_pool.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/flexible_thread_pool.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/pool_commons.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/single_thread_executor.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/constant.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/celery_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/confirm_mixin.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/dramatiq_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/http_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/http_consumer000.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/httpsqs_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/huey_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/kafka_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/kafka_consumer_manually_commit.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/kombu_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/local_python_queue_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/memory_deque_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/mongomq_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/mqtt_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/nameko_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/nats_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/nsq_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/peewee_conusmer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/persist_queue_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/pulsar_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/rabbitmq_amqpstorm_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/rabbitmq_pika_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/rabbitmq_pika_consumerv0.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/rabbitmq_rabbitpy_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/redis_brpoplpush_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/redis_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/redis_consumer_ack_able.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/redis_consumer_priority.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/redis_consumer_simple.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/redis_filter.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/redis_pubsub_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/redis_stream_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/rocketmq_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/rq_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/sqlachemy_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/tcp_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/txt_file_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/udp_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/consumers/zeromq_consumer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/contrib/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/contrib/api_publish_msg.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/contrib/django_db_deco.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/contrib/queue2queue.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/contrib/redis_consume_latest_msg_broker.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/contrib/save_result_status_to_sqldb.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/active_cousumer_info_getter.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/booster.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/cli/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/cli/discovery_boosters.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/cli/funboost_cli_user_templ.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/cli/funboost_fire.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/current_task.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/exceptions.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/function_result_status_config.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/function_result_status_saver.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/helper_funs.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/kill_remote_task.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/lazy_impoter.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/loggers.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/msg_result_getter.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/muliti_process_enhance.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/task_id_logger.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/core/try_get_user_funboost_common_config.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/factories/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/factories/broker_kind__publsiher_consumer_type_map.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/factories/consumer_factory.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/factories/publisher_factotry.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/funboost_config_deafult.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/__pycache__/app.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/__pycache__/functions.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/app.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/functions.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/static/assets/css/custom.css +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/static/assets/css/jquery.mCustomScrollbar.min.css +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/static/assets/img/user.jpg +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/static/assets/js/custom.js +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/static/assets/js/jquery.mCustomScrollbar.concat.min.js +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/static/css/style.css +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/static/images/bg.jpg +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/static/images/password.png +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/static/images/tick.png +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/static/images/user.png +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/static/js/jquery-1.11.0.min.js +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/templates/index.html +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/function_result_web/templates/login.html +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/base_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/celery_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/celery_publisher000.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/confluent_kafka_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/dramatiq_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/http_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/httpsqs_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/huey_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/kafka_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/kombu_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/local_python_queue_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/meomory_deque_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/mongomq_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/mqtt_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/nameko_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/nats_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/nsq_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/peewee_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/persist_queue_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/pulsar_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/rabbitmq_amqpstorm_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/rabbitmq_pika_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/rabbitmq_rabbitpy_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/redis_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/redis_publisher_lpush.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/redis_publisher_priority.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/redis_publisher_simple.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/redis_pubsub_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/redis_queue_flush_mixin.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/redis_stream_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/rocketmq_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/rq_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/sqla_queue_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/tcp_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/txt_file_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/udp_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/publishers/zeromq_publisher.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/queues/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/queues/peewee_queue.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/queues/sqla_queue.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/set_frame_config.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/timing_job/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/timing_job/apscheduler_use_mysql_store.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/timing_job/apscheduler_use_redis_store.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/apscheduler_monkey.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/block_exit.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/bulk_operation.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/ctrl_c_end.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/custom_pysnooper.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/decorators.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages/mongomq/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages/mongomq/lock.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages/mongomq/mongomq.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages/mongomq/mongomq0000.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages/mongomq/test.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages/mongomq/utils.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-311.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-39.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/add_to_pythonpath.cpython-311.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/add_to_pythonpath.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/add_to_pythonpath.cpython-39.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/add_to_pythonpath.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/__init__.cpython-311.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/__init__.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/__init__.cpython-39.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/client.cpython-311.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/client.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/client.cpython-39.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/compat.cpython-311.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/compat.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/compat.cpython-39.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/connection.cpython-311.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/connection.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/connection.cpython-39.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/exceptions.cpython-311.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/exceptions.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/exceptions.cpython-39.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/lock.cpython-311.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/lock.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/lock.cpython-39.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/utils.cpython-311.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/utils.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/utils.cpython-39.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/client.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/compat.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/connection.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/exceptions.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/lock.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/log.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/py.typed +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/readme.md +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/sentinel.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/utils.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/StoppableThread.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/StoppableThread.cpython-311.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/StoppableThread.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/StoppableThread.cpython-39.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/__init__.cpython-311.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/__init__.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/__init__.cpython-39.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/dafunc.cpython-311.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/dafunc.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/exceptions.cpython-311.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/exceptions.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/exceptions.cpython-39.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/py3_raise.cpython-311.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/py3_raise.cpython-37.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/py3_raise.cpython-39.pyc +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/dafunc.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/exceptions.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/py2_raise.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/py3_raise.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/dependency_packages_in_pythonpath/readme.md +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/develop_log.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/expire_lock.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/json_helper.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/mongo_util.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/monkey_color_log.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/monkey_patches.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/mqtt_util.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/paramiko_util.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/pysnooper_ydf/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/pysnooper_ydf/pycompat.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/pysnooper_ydf/tracer.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/pysnooper_ydf/utils.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/pysnooper_ydf/variables.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/rabbitmq_factory.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/redis_manager.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/redis_manager_old.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/resource_monitoring.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/restart_python.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/simple_data_class.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/time_util.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/times/__init__.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/times/version.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost/utils/un_strict_json_dumps.py +0 -0
- {funboost-43.9 → funboost-44.1}/funboost.egg-info/SOURCES.txt +0 -0
- {funboost-43.9 → funboost-44.1}/funboost.egg-info/dependency_links.txt +0 -0
- {funboost-43.9 → funboost-44.1}/funboost.egg-info/requires.txt +0 -0
- {funboost-43.9 → funboost-44.1}/funboost.egg-info/top_level.txt +0 -0
- {funboost-43.9 → funboost-44.1}/setup.cfg +0 -0
- {funboost-43.9 → funboost-44.1}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: funboost
|
|
3
|
-
Version:
|
|
3
|
+
Version: 44.1
|
|
4
4
|
Summary: pip install funboost,python全功能分布式函数调度框架,。支持python所有类型的并发模式和一切知名消息队列中间件,支持如 celery dramatiq等框架整体作为funboost中间件,python函数加速器,框架包罗万象,用户能想到的控制功能全都有。一统编程思维,兼容50% python业务场景,适用范围广。只需要一行代码即可分布式执行python一切函数,99%用过funboost的pythoner 感受是 简易 方便 强劲 强大,相见恨晚
|
|
5
5
|
Home-page: https://github.com/ydf0509/funboost
|
|
6
6
|
Author: bfzs
|
|
@@ -46,7 +46,7 @@ License-File: LICENSE
|
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
<pre style="color: greenyellow;background-color: #0c1119; font-size: medium;">
|
|
49
|
-
pip install funboost ,python全功能分布式函数调度框架,。
|
|
49
|
+
pip install funboost ,python全功能分布式函数调度框架,。 用法例子见文档1.3
|
|
50
50
|
支持python所有类型的并发模式和全球一切知名消息队列中间件,
|
|
51
51
|
同时funboost支持celery整个框架作为核心来发布和消费消息,使用funboost的极简api方式来自动化配置和利用celery调度,
|
|
52
52
|
也支持huey dramatiq rq等任务队列框架作为funboost的broker。
|
|
@@ -148,8 +148,7 @@ pip install funboost --upgrade
|
|
|
148
148
|
[//]: # ([img-46.png](https://postimg.cc/hfW0VhCX))
|
|
149
149
|
|
|
150
150
|
funboost示图:
|
|
151
|
-
|
|
152
|
-
|
|
151
|
+
<a href="https://imgse.com/i/pkFFghj"><img src="https://s21.ax1x.com/2024/04/29/pkFFghj.png" alt="pkFFghj.png" border="0" /></a>
|
|
153
152
|
|
|
154
153
|
[//]: # ([](https://postimg.cc/hfW0VhCX))
|
|
155
154
|
|
|
@@ -159,7 +158,7 @@ funboost示图:
|
|
|
159
158
|
|
|
160
159
|
也就是这种非常普通的流程图,一样的意思
|
|
161
160
|
|
|
162
|
-
|
|
161
|
+
<a href="https://imgse.com/i/pkFFcNQ"><img src="https://s21.ax1x.com/2024/04/29/pkFFcNQ.png" alt="pkFFcNQ.png" border="0" /></a>
|
|
163
162
|
|
|
164
163
|
### 1.2.1 框架支持5种并发模式
|
|
165
164
|
|
|
@@ -238,7 +237,7 @@ if __name__ == '__main__':
|
|
|
238
237
|
[3.1 各种中间件选择的场景和优势](https://funboost.readthedocs.io/zh/latest/articles/c3.html#id2)
|
|
239
238
|
|
|
240
239
|
|
|
241
|
-
### 1.2.3 框架对任务支持
|
|
240
|
+
### 1.2.3 框架对任务支持30种控制功能。
|
|
242
241
|
|
|
243
242
|
<pre>
|
|
244
243
|
|
|
@@ -421,12 +420,10 @@ if __name__ == "__main__":
|
|
|
421
420
|
|
|
422
421
|
运行截图:
|
|
423
422
|
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-

|
|
423
|
+
<a href="https://imgse.com/i/pkFkP4H"><img src="https://s21.ax1x.com/2024/04/29/pkFkP4H.png" alt="pkFkP4H.png" border="0" /></a>
|
|
427
424
|
|
|
428
|
-

|
|
429
425
|
|
|
426
|
+
<a href="https://imgse.com/i/pkFkCUe"><img src="https://s21.ax1x.com/2024/04/29/pkFkCUe.png" alt="pkFkCUe.png" border="0" /></a>
|
|
430
427
|
|
|
431
428
|
|
|
432
429
|
## 1.4 python分布式函数执行为什么重要?
|
|
@@ -493,3 +490,4 @@ funboost通过支持celery作为broker_kind,使celer框架变成了funboost的
|
|
|
493
490
|

|
|
494
491
|
|
|
495
492
|
<div> </div>
|
|
493
|
+
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
<pre style="color: greenyellow;background-color: #0c1119; font-size: medium;">
|
|
18
|
-
pip install funboost ,python全功能分布式函数调度框架,。
|
|
18
|
+
pip install funboost ,python全功能分布式函数调度框架,。 用法例子见文档1.3
|
|
19
19
|
支持python所有类型的并发模式和全球一切知名消息队列中间件,
|
|
20
20
|
同时funboost支持celery整个框架作为核心来发布和消费消息,使用funboost的极简api方式来自动化配置和利用celery调度,
|
|
21
21
|
也支持huey dramatiq rq等任务队列框架作为funboost的broker。
|
|
@@ -117,8 +117,7 @@ pip install funboost --upgrade
|
|
|
117
117
|
[//]: # ([img-46.png](https://postimg.cc/hfW0VhCX))
|
|
118
118
|
|
|
119
119
|
funboost示图:
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
<a href="https://imgse.com/i/pkFFghj"><img src="https://s21.ax1x.com/2024/04/29/pkFFghj.png" alt="pkFFghj.png" border="0" /></a>
|
|
122
121
|
|
|
123
122
|
[//]: # ([](https://postimg.cc/hfW0VhCX))
|
|
124
123
|
|
|
@@ -128,7 +127,7 @@ funboost示图:
|
|
|
128
127
|
|
|
129
128
|
也就是这种非常普通的流程图,一样的意思
|
|
130
129
|
|
|
131
|
-
|
|
130
|
+
<a href="https://imgse.com/i/pkFFcNQ"><img src="https://s21.ax1x.com/2024/04/29/pkFFcNQ.png" alt="pkFFcNQ.png" border="0" /></a>
|
|
132
131
|
|
|
133
132
|
### 1.2.1 框架支持5种并发模式
|
|
134
133
|
|
|
@@ -207,7 +206,7 @@ if __name__ == '__main__':
|
|
|
207
206
|
[3.1 各种中间件选择的场景和优势](https://funboost.readthedocs.io/zh/latest/articles/c3.html#id2)
|
|
208
207
|
|
|
209
208
|
|
|
210
|
-
### 1.2.3 框架对任务支持
|
|
209
|
+
### 1.2.3 框架对任务支持30种控制功能。
|
|
211
210
|
|
|
212
211
|
<pre>
|
|
213
212
|
|
|
@@ -390,12 +389,10 @@ if __name__ == "__main__":
|
|
|
390
389
|
|
|
391
390
|
运行截图:
|
|
392
391
|
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-

|
|
392
|
+
<a href="https://imgse.com/i/pkFkP4H"><img src="https://s21.ax1x.com/2024/04/29/pkFkP4H.png" alt="pkFkP4H.png" border="0" /></a>
|
|
396
393
|
|
|
397
|
-

|
|
398
394
|
|
|
395
|
+
<a href="https://imgse.com/i/pkFkCUe"><img src="https://s21.ax1x.com/2024/04/29/pkFkCUe.png" alt="pkFkCUe.png" border="0" /></a>
|
|
399
396
|
|
|
400
397
|
|
|
401
398
|
## 1.4 python分布式函数执行为什么重要?
|
|
@@ -13,7 +13,7 @@ set_frame_config这个模块的 use_config_form_funboost_config_module() 是核
|
|
|
13
13
|
这段注释说明和使用的用户无关,只和框架开发人员有关.
|
|
14
14
|
'''
|
|
15
15
|
|
|
16
|
-
__version__ = "
|
|
16
|
+
__version__ = "44.1"
|
|
17
17
|
|
|
18
18
|
from funboost.set_frame_config import show_frame_config
|
|
19
19
|
|
|
@@ -65,3 +65,4 @@ from funboost.core.current_task import funboost_current_task
|
|
|
65
65
|
|
|
66
66
|
# 有的包默认没加handlers,原始的日志不漂亮且不可跳转不知道哪里发生的。这里把warnning级别以上的日志默认加上handlers。
|
|
67
67
|
# nb_log.get_logger(name='', log_level_int=30, _log_filename='pywarning.log')
|
|
68
|
+
|
|
@@ -383,25 +383,26 @@ class AbstractConsumer(LoggerLevelSetterMixin, metaclass=abc.ABCMeta, ):
|
|
|
383
383
|
"""
|
|
384
384
|
raise NotImplementedError
|
|
385
385
|
|
|
386
|
-
def
|
|
386
|
+
def _auto_fill_msg(self, msg: dict):
|
|
387
387
|
"""填充消息,消息没有使用funboost来发送,并且没有extra相关字段时候"""
|
|
388
388
|
""" 一般消息至少包含这样
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
}
|
|
389
|
+
{
|
|
390
|
+
"a": 42,
|
|
391
|
+
"b": 84,
|
|
392
|
+
"extra": {
|
|
393
|
+
"task_id": "queue_2_result:9b79a372-f765-4a33-8639-9d15d7a95f61",
|
|
394
|
+
"publish_time": 1701687443.3596,
|
|
395
|
+
"publish_time_format": "2023-12-04 18:57:23"
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
398
|
"""
|
|
399
|
+
|
|
399
400
|
"""
|
|
400
401
|
extra_params = {'task_id': task_id, 'publish_time': round(time.time(), 4),
|
|
401
402
|
'publish_time_format': time.strftime('%Y-%m-%d %H:%M:%S')}
|
|
402
403
|
"""
|
|
403
404
|
if 'extra' not in msg:
|
|
404
|
-
msg['extra'] = {}
|
|
405
|
+
msg['extra'] = {'is_auto_fill_extra': True}
|
|
405
406
|
extra = msg['extra']
|
|
406
407
|
if 'task_id' not in extra:
|
|
407
408
|
extra['task_id'] = generate_task_id(self._queue_name)
|
|
@@ -425,7 +426,7 @@ class AbstractConsumer(LoggerLevelSetterMixin, metaclass=abc.ABCMeta, ):
|
|
|
425
426
|
self._requeue(kw)
|
|
426
427
|
time.sleep(self.time_interval_for_check_do_not_run_time)
|
|
427
428
|
return
|
|
428
|
-
self.
|
|
429
|
+
self._auto_fill_msg(kw['body'])
|
|
429
430
|
function_only_params = delete_keys_and_return_new_dict(kw['body'], )
|
|
430
431
|
if self._get_priority_conf(kw, 'do_task_filtering') and self._redis_filter.check_value_exists(
|
|
431
432
|
function_only_params): # 对函数的参数进行检查,过滤已经执行过并且成功的任务。
|
|
@@ -819,7 +820,7 @@ class AbstractConsumer(LoggerLevelSetterMixin, metaclass=abc.ABCMeta, ):
|
|
|
819
820
|
self.logger.critical(msg=log_msg)
|
|
820
821
|
# noinspection PyProtectedMember,PyUnresolvedReferences
|
|
821
822
|
os._exit(444)
|
|
822
|
-
if self.consumer_params.function_timeout
|
|
823
|
+
if not self.consumer_params.function_timeout :
|
|
823
824
|
rs = await corotinue_obj
|
|
824
825
|
# rs = await asyncio.wait_for(corotinue_obj, timeout=4)
|
|
825
826
|
else:
|
|
@@ -103,7 +103,7 @@ def fabric_deploy(booster: Booster, host, port, user, password,
|
|
|
103
103
|
process_mark = f'funboost_fabric_mark__{queue_name}__{func_name}'
|
|
104
104
|
conn = Connection(host, port=port, user=user, connect_kwargs={"password": password}, )
|
|
105
105
|
kill_shell = f'''ps -aux|grep {process_mark}|grep -v grep|awk '{{print $2}}' |xargs kill -9'''
|
|
106
|
-
logger.warning(f'{kill_shell} 命令杀死 {process_mark} 标识的进程')
|
|
106
|
+
logger.warning(f'使用linux命令 {kill_shell} 命令杀死 {process_mark} 标识的进程')
|
|
107
107
|
# uploader.ssh.exec_command(kill_shell)
|
|
108
108
|
conn.run(kill_shell, encoding='utf-8', warn=True) # 不想提示,免得烦扰用户以为有什么异常了。所以用上面的paramiko包的ssh.exec_command
|
|
109
109
|
|
|
@@ -113,7 +113,7 @@ def fabric_deploy(booster: Booster, host, port, user, password,
|
|
|
113
113
|
if not extra_shell_str2.endswith(';') and extra_shell_str != '':
|
|
114
114
|
extra_shell_str2 += ';'
|
|
115
115
|
shell_str = extra_shell_str2 + shell_str
|
|
116
|
-
logger.warning(f'
|
|
116
|
+
logger.warning(f'使用linux命令 {shell_str} 在远程机器 {host} 上启动任务消费')
|
|
117
117
|
conn.run(shell_str, encoding='utf-8', **invoke_runner_kwargs)
|
|
118
118
|
# uploader.ssh.exec_command(shell_str)
|
|
119
119
|
|
|
@@ -125,6 +125,6 @@ def kill_all_remote_tasks(host, port, user, password):
|
|
|
125
125
|
uploader = ParamikoFolderUploader(host, port, user, password, '', '')
|
|
126
126
|
funboost_fabric_mark_all = 'funboost_fabric_mark__'
|
|
127
127
|
kill_shell = f'''ps -aux|grep {funboost_fabric_mark_all}|grep -v grep|awk '{{print $2}}' |xargs kill -9'''
|
|
128
|
-
logger.warning(f'{kill_shell} 命令杀死 {funboost_fabric_mark_all} 标识的进程')
|
|
128
|
+
logger.warning(f'使用linux命令 {kill_shell} 命令杀死 {funboost_fabric_mark_all} 标识的进程')
|
|
129
129
|
uploader.ssh.exec_command(kill_shell)
|
|
130
130
|
logger.warning(f'杀死 {host} 机器所有的 {funboost_fabric_mark_all} 标识的进程')
|
|
@@ -123,7 +123,7 @@ class BoosterParams(BaseJsonAbleModel):
|
|
|
123
123
|
由于有很好用的qps控制运行频率和智能扩大缩小的线程池,此框架建议不需要理会和设置并发数量只需要关心qps就行了,框架的并发是自适应并发数量,这一点很强很好用。"""
|
|
124
124
|
concurrent_mode: str = ConcurrentModeEnum.THREADING # 并发模式,支持THREADING,GEVENT,EVENTLET,ASYNC,SINGLE_THREAD并发,multi_process_consume 支持协程/线程 叠加多进程并发,性能炸裂.
|
|
125
125
|
concurrent_num: int = 50 # 并发数量,并发种类由concurrent_mode决定
|
|
126
|
-
specify_concurrent_pool: FunboostBaseConcurrentPool = None # 使用指定的线程池/携程池,可以多个消费者共使用一个线程池,节约线程.不为None时候。threads_num失效
|
|
126
|
+
specify_concurrent_pool: typing.Optional[FunboostBaseConcurrentPool] = None # 使用指定的线程池/携程池,可以多个消费者共使用一个线程池,节约线程.不为None时候。threads_num失效
|
|
127
127
|
specify_async_loop: asyncio.AbstractEventLoop = None # 指定的async的loop循环,设置并发模式为async才能起作用。 有些包例如aiohttp,请求和httpclient的实例化不能处在两个不同的loop中,可以传过来.
|
|
128
128
|
|
|
129
129
|
"""qps:
|
|
@@ -159,7 +159,7 @@ class BoosterParams(BaseJsonAbleModel):
|
|
|
159
159
|
msg_expire_senconds: typing.Union[float, int] = None # 消息过期时间,可以设置消息是多久之前发布的就丢弃这条消息,不运行. 为None则永不丢弃
|
|
160
160
|
|
|
161
161
|
do_task_filtering: bool = False # 是否对函数入参进行过滤去重.
|
|
162
|
-
task_filtering_expire_seconds: int = 0 # 任务过滤的失效期,为0则永久性过滤任务。例如设置过滤过期时间是1800秒 , 30分钟前发布过1 + 2 的任务,现在仍然执行,如果是30
|
|
162
|
+
task_filtering_expire_seconds: int = 0 # 任务过滤的失效期,为0则永久性过滤任务。例如设置过滤过期时间是1800秒 , 30分钟前发布过1 + 2 的任务,现在仍然执行,如果是30分钟以内执行过这个任务,则不执行1 + 2
|
|
163
163
|
|
|
164
164
|
function_result_status_persistance_conf: FunctionResultStatusPersistanceConfig = FunctionResultStatusPersistanceConfig(
|
|
165
165
|
is_save_result=False, is_save_status=False, expire_seconds=7 * 24 * 3600, is_use_bulk_insert=False) # 是否保存函数的入参,运行结果和运行状态到mongodb。这一步用于后续的参数追溯,任务统计和web展示,需要安装mongo。
|
|
@@ -183,7 +183,7 @@ class BoosterParams(BaseJsonAbleModel):
|
|
|
183
183
|
broker_exclusive_config: dict = {} # 加上一个不同种类中间件非通用的配置,不同中间件自身独有的配置,不是所有中间件都兼容的配置,因为框架支持30种消息队列,消息队列不仅仅是一般的先进先出queue这么简单的概念,
|
|
184
184
|
# 例如kafka支持消费者组,rabbitmq也支持各种独特概念例如各种ack机制 复杂路由机制,有的中间件原生能支持消息优先级有的中间件不支持,每一种消息队列都有独特的配置参数意义,可以通过这里传递。每种中间件能传递的键值对可以看consumer类的 BROKER_EXCLUSIVE_CONFIG_DEFAULT
|
|
185
185
|
|
|
186
|
-
should_check_publish_func_params: bool = True
|
|
186
|
+
should_check_publish_func_params: bool = True # 消息发布时候是否校验消息发布内容,比如有的人发布消息,函数只接受a,b两个入参,他去传2个入参,或者传参不存在的参数名字, 如果消费函数你非要写*args,**kwargs,那就需要关掉发布消息时候的函数入参检查
|
|
187
187
|
|
|
188
188
|
auto_generate_info: dict = {} # 自动生成的信息,不需要用户主动传参.
|
|
189
189
|
|
|
@@ -277,3 +277,4 @@ if __name__ == '__main__':
|
|
|
277
277
|
# print(PriorityConsumingControlConfig().get_str_dict())
|
|
278
278
|
|
|
279
279
|
print(BoosterParams(queue_name='3213', specify_concurrent_pool=FlexibleThreadPool(100)).json_pre())
|
|
280
|
+
print(PublisherParams.schema_json())
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: funboost
|
|
3
|
-
Version:
|
|
3
|
+
Version: 44.1
|
|
4
4
|
Summary: pip install funboost,python全功能分布式函数调度框架,。支持python所有类型的并发模式和一切知名消息队列中间件,支持如 celery dramatiq等框架整体作为funboost中间件,python函数加速器,框架包罗万象,用户能想到的控制功能全都有。一统编程思维,兼容50% python业务场景,适用范围广。只需要一行代码即可分布式执行python一切函数,99%用过funboost的pythoner 感受是 简易 方便 强劲 强大,相见恨晚
|
|
5
5
|
Home-page: https://github.com/ydf0509/funboost
|
|
6
6
|
Author: bfzs
|
|
@@ -46,7 +46,7 @@ License-File: LICENSE
|
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
<pre style="color: greenyellow;background-color: #0c1119; font-size: medium;">
|
|
49
|
-
pip install funboost ,python全功能分布式函数调度框架,。
|
|
49
|
+
pip install funboost ,python全功能分布式函数调度框架,。 用法例子见文档1.3
|
|
50
50
|
支持python所有类型的并发模式和全球一切知名消息队列中间件,
|
|
51
51
|
同时funboost支持celery整个框架作为核心来发布和消费消息,使用funboost的极简api方式来自动化配置和利用celery调度,
|
|
52
52
|
也支持huey dramatiq rq等任务队列框架作为funboost的broker。
|
|
@@ -148,8 +148,7 @@ pip install funboost --upgrade
|
|
|
148
148
|
[//]: # ([img-46.png](https://postimg.cc/hfW0VhCX))
|
|
149
149
|
|
|
150
150
|
funboost示图:
|
|
151
|
-
|
|
152
|
-
|
|
151
|
+
<a href="https://imgse.com/i/pkFFghj"><img src="https://s21.ax1x.com/2024/04/29/pkFFghj.png" alt="pkFFghj.png" border="0" /></a>
|
|
153
152
|
|
|
154
153
|
[//]: # ([](https://postimg.cc/hfW0VhCX))
|
|
155
154
|
|
|
@@ -159,7 +158,7 @@ funboost示图:
|
|
|
159
158
|
|
|
160
159
|
也就是这种非常普通的流程图,一样的意思
|
|
161
160
|
|
|
162
|
-
|
|
161
|
+
<a href="https://imgse.com/i/pkFFcNQ"><img src="https://s21.ax1x.com/2024/04/29/pkFFcNQ.png" alt="pkFFcNQ.png" border="0" /></a>
|
|
163
162
|
|
|
164
163
|
### 1.2.1 框架支持5种并发模式
|
|
165
164
|
|
|
@@ -238,7 +237,7 @@ if __name__ == '__main__':
|
|
|
238
237
|
[3.1 各种中间件选择的场景和优势](https://funboost.readthedocs.io/zh/latest/articles/c3.html#id2)
|
|
239
238
|
|
|
240
239
|
|
|
241
|
-
### 1.2.3 框架对任务支持
|
|
240
|
+
### 1.2.3 框架对任务支持30种控制功能。
|
|
242
241
|
|
|
243
242
|
<pre>
|
|
244
243
|
|
|
@@ -421,12 +420,10 @@ if __name__ == "__main__":
|
|
|
421
420
|
|
|
422
421
|
运行截图:
|
|
423
422
|
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-

|
|
423
|
+
<a href="https://imgse.com/i/pkFkP4H"><img src="https://s21.ax1x.com/2024/04/29/pkFkP4H.png" alt="pkFkP4H.png" border="0" /></a>
|
|
427
424
|
|
|
428
|
-

|
|
429
425
|
|
|
426
|
+
<a href="https://imgse.com/i/pkFkCUe"><img src="https://s21.ax1x.com/2024/04/29/pkFkCUe.png" alt="pkFkCUe.png" border="0" /></a>
|
|
430
427
|
|
|
431
428
|
|
|
432
429
|
## 1.4 python分布式函数执行为什么重要?
|
|
@@ -493,3 +490,4 @@ funboost通过支持celery作为broker_kind,使celer框架变成了funboost的
|
|
|
493
490
|

|
|
494
491
|
|
|
495
492
|
<div> </div>
|
|
493
|
+
|
|
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
|
{funboost-43.9 → funboost-44.1}/funboost/beggar_version_implementation/beggar_redis_consumer.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/backup/async_pool_executor_janus.py
RENAMED
|
File without changes
|
|
File without changes
|
{funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/bounded_processpoolexcutor_gt_py37.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{funboost-43.9 → funboost-44.1}/funboost/concurrent_pool/concurrent_pool_with_multi_process.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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
|
{funboost-43.9 → funboost-44.1}/funboost/factories/broker_kind__publsiher_consumer_type_map.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{funboost-43.9 → funboost-44.1}/funboost/function_result_web/__pycache__/functions.cpython-37.pyc
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|