funboost 43.5__tar.gz → 43.6__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.5/funboost.egg-info → funboost-43.6}/PKG-INFO +1 -1
- {funboost-43.5 → funboost-43.6}/funboost/__init__.py +1 -1
- {funboost-43.5 → funboost-43.6}/funboost/core/booster.py +1 -1
- {funboost-43.5 → funboost-43.6}/funboost/core/fabric_deploy_helper.py +16 -9
- {funboost-43.5 → funboost-43.6}/funboost/core/lazy_impoter.py +12 -3
- {funboost-43.5 → funboost-43.6}/funboost/utils/decorators.py +3 -2
- {funboost-43.5 → funboost-43.6/funboost.egg-info}/PKG-INFO +1 -1
- {funboost-43.5 → funboost-43.6}/funboost.egg-info/requires.txt +1 -0
- {funboost-43.5 → funboost-43.6}/setup.py +2 -0
- {funboost-43.5 → funboost-43.6}/LICENSE +0 -0
- {funboost-43.5 → funboost-43.6}/MANIFEST.in +0 -0
- {funboost-43.5 → funboost-43.6}/README.md +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/__init__old.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/__main__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/assist/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/assist/celery_helper.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/assist/dramatiq_helper.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/assist/huey_helper.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/assist/rocketry_helper.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/assist/rq_helper.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/assist/rq_windows_worker.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/beggar_version_implementation/beggar_redis_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/async_helper.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/async_pool_executor.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/backup/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/backup/async_pool_executor0223.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/backup/async_pool_executor_back.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/backup/async_pool_executor_janus.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/base_pool_type.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/bounded_processpoolexcutor_gt_py37.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/bounded_processpoolexcutor_py36.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/bounded_threadpoolexcutor.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/concurrent_pool_with_multi_process.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/custom_evenlet_pool_executor.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/custom_gevent_pool_executor.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/custom_threadpool_executor.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/custom_threadpool_executor000.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/fixed_thread_pool.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/flexible_thread_pool.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/pool_commons.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/single_thread_executor.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/constant.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/base_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/celery_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/confirm_mixin.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/dramatiq_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/http_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/http_consumer000.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/httpsqs_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/huey_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/kafka_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/kafka_consumer_manually_commit.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/kombu_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/local_python_queue_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/memory_deque_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/mongomq_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/mqtt_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/nameko_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/nats_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/nsq_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/peewee_conusmer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/persist_queue_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/pulsar_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/rabbitmq_amqpstorm_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/rabbitmq_pika_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/rabbitmq_pika_consumerv0.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/rabbitmq_rabbitpy_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/redis_brpoplpush_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/redis_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/redis_consumer_ack_able.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/redis_consumer_priority.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/redis_consumer_simple.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/redis_filter.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/redis_pubsub_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/redis_stream_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/rocketmq_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/rq_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/sqlachemy_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/tcp_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/txt_file_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/udp_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/consumers/zeromq_consumer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/contrib/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/contrib/api_publish_msg.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/contrib/django_db_deco.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/contrib/queue2queue.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/contrib/redis_consume_latest_msg_broker.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/contrib/save_result_status_to_sqldb.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/active_cousumer_info_getter.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/cli/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/cli/discovery_boosters.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/cli/funboost_cli_user_templ.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/cli/funboost_fire.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/current_task.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/exceptions.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/func_params_model.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/function_result_status_config.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/function_result_status_saver.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/helper_funs.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/kill_remote_task.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/loggers.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/msg_result_getter.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/muliti_process_enhance.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/task_id_logger.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/core/try_get_user_funboost_common_config.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/factories/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/factories/broker_kind__publsiher_consumer_type_map.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/factories/consumer_factory.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/factories/publisher_factotry.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/funboost_config_deafult.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/__pycache__/app.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/__pycache__/functions.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/app.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/functions.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/static/assets/css/custom.css +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/static/assets/css/jquery.mCustomScrollbar.min.css +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/static/assets/img/user.jpg +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/static/assets/js/custom.js +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/static/assets/js/jquery.mCustomScrollbar.concat.min.js +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/static/css/style.css +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/static/images/bg.jpg +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/static/images/password.png +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/static/images/tick.png +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/static/images/user.png +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/static/js/jquery-1.11.0.min.js +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/templates/index.html +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/function_result_web/templates/login.html +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/base_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/celery_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/celery_publisher000.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/confluent_kafka_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/dramatiq_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/http_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/httpsqs_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/huey_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/kafka_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/kombu_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/local_python_queue_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/meomory_deque_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/mongomq_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/mqtt_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/nameko_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/nats_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/nsq_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/peewee_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/persist_queue_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/pulsar_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/rabbitmq_amqpstorm_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/rabbitmq_pika_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/rabbitmq_rabbitpy_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/redis_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/redis_publisher_lpush.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/redis_publisher_priority.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/redis_publisher_simple.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/redis_pubsub_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/redis_queue_flush_mixin.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/redis_stream_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/rocketmq_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/rq_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/sqla_queue_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/tcp_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/txt_file_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/udp_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/publishers/zeromq_publisher.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/queues/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/queues/peewee_queue.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/queues/sqla_queue.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/set_frame_config.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/timing_job/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/timing_job/apscheduler_use_mysql_store.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/timing_job/apscheduler_use_redis_store.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/apscheduler_monkey.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/block_exit.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/bulk_operation.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/ctrl_c_end.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/custom_pysnooper.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages/mongomq/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages/mongomq/lock.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages/mongomq/mongomq.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages/mongomq/mongomq0000.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages/mongomq/test.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages/mongomq/utils.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-311.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-39.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/add_to_pythonpath.cpython-311.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/add_to_pythonpath.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/__pycache__/add_to_pythonpath.cpython-39.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/add_to_pythonpath.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/__init__.cpython-311.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/__init__.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/__init__.cpython-39.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/client.cpython-311.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/client.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/client.cpython-39.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/compat.cpython-311.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/compat.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/compat.cpython-39.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/connection.cpython-311.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/connection.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/connection.cpython-39.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/exceptions.cpython-311.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/exceptions.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/exceptions.cpython-39.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/lock.cpython-311.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/lock.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/lock.cpython-39.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/utils.cpython-311.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/utils.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/utils.cpython-39.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/client.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/compat.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/connection.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/exceptions.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/lock.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/log.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/py.typed +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/readme.md +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/sentinel.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/aioredis/utils.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/StoppableThread.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/StoppableThread.cpython-311.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/StoppableThread.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/StoppableThread.cpython-39.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/__init__.cpython-311.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/__init__.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/__init__.cpython-39.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/dafunc.cpython-311.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/dafunc.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/dafunc.cpython-39.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/exceptions.cpython-311.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/exceptions.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/exceptions.cpython-39.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/py3_raise.cpython-311.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/py3_raise.cpython-37.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/py3_raise.cpython-39.pyc +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/dafunc.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/exceptions.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/py2_raise.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/py3_raise.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/dependency_packages_in_pythonpath/readme.md +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/develop_log.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/expire_lock.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/json_helper.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/mongo_util.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/monkey_color_log.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/monkey_patches.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/mqtt_util.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/paramiko_util.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/pysnooper_ydf/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/pysnooper_ydf/pycompat.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/pysnooper_ydf/tracer.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/pysnooper_ydf/utils.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/pysnooper_ydf/variables.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/rabbitmq_factory.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/redis_manager.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/redis_manager_old.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/resource_monitoring.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/restart_python.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/simple_data_class.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/time_util.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/times/__init__.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/times/version.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost/utils/un_strict_json_dumps.py +0 -0
- {funboost-43.5 → funboost-43.6}/funboost.egg-info/SOURCES.txt +0 -0
- {funboost-43.5 → funboost-43.6}/funboost.egg-info/dependency_links.txt +0 -0
- {funboost-43.5 → funboost-43.6}/funboost.egg-info/entry_points.txt +0 -0
- {funboost-43.5 → funboost-43.6}/funboost.egg-info/top_level.txt +0 -0
- {funboost-43.5 → funboost-43.6}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: funboost
|
|
3
|
-
Version: 43.
|
|
3
|
+
Version: 43.6
|
|
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
|
|
@@ -66,7 +66,7 @@ class Booster:
|
|
|
66
66
|
flogger.warning(f'''你的 {queue_name} 队列, funboost 40.0版本以后: {BoostDecoParamsIsOldVersion.new_version_change_hint}''')
|
|
67
67
|
boost_params_merge = boost_params.copy()
|
|
68
68
|
boost_params_merge.update_from_dict(kwargs)
|
|
69
|
-
self.boost_params = boost_params_merge
|
|
69
|
+
self.boost_params:BoosterParams = boost_params_merge
|
|
70
70
|
self.queue_name = boost_params_merge.queue_name
|
|
71
71
|
|
|
72
72
|
def __str__(self):
|
|
@@ -4,9 +4,10 @@ import sys
|
|
|
4
4
|
import threading
|
|
5
5
|
import time
|
|
6
6
|
import os
|
|
7
|
+
import typing
|
|
7
8
|
from pathlib import Path
|
|
8
9
|
from fabric2 import Connection
|
|
9
|
-
|
|
10
|
+
from nb_libs.path_helper import PathHelper
|
|
10
11
|
# from funboost.core.booster import Booster
|
|
11
12
|
from funboost.utils.paramiko_util import ParamikoFolderUploader
|
|
12
13
|
|
|
@@ -18,6 +19,9 @@ logger = get_funboost_file_logger(__name__)
|
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
# noinspection PyDefaultArgument
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
21
25
|
def fabric_deploy(booster: Booster, host, port, user, password,
|
|
22
26
|
path_pattern_exluded_tuple=('/.git/', '/.idea/', '/dist/', '/build/'),
|
|
23
27
|
file_suffix_tuple_exluded=('.pyc', '.log', '.gz'),
|
|
@@ -70,14 +74,19 @@ def fabric_deploy(booster: Booster, host, port, user, password,
|
|
|
70
74
|
python_proj_dir = sys.path[1].replace('\\', '/') + '/'
|
|
71
75
|
python_proj_dir_short = python_proj_dir.split('/')[-2]
|
|
72
76
|
# 获取被调用函数所在模块文件名
|
|
73
|
-
file_name = sys._getframe(2).f_code.co_filename.replace('\\', '/') # noqa
|
|
74
|
-
# print(file_name,python_proj_dir)
|
|
75
|
-
# print(Path(file_name).relative_to(Path(python_proj_dir)))
|
|
76
|
-
# print(8888)
|
|
77
|
-
# relative_file_name = re.sub(f'^{python_proj_dir}', '', file_name)
|
|
77
|
+
file_name = sys._getframe(2).f_code.co_filename.replace('\\', '/') # noqa
|
|
78
78
|
relative_file_name = Path(file_name).relative_to(Path(python_proj_dir)).as_posix()
|
|
79
79
|
relative_module = relative_file_name.replace('/', '.')[:-3] # -3是去掉.py
|
|
80
|
-
|
|
80
|
+
func_name = booster.consuming_function.__name__
|
|
81
|
+
module_obj = PathHelper(sys._getframe(2).f_code.co_filename).import_as_module() # noqa
|
|
82
|
+
|
|
83
|
+
"""以下这种是为了兼容 函数没有@boost.而是使用 boosterxx = BoostersManager.build_booster() 来创建的booster. 下面的 python_exec_str 中需要用到 func_name """
|
|
84
|
+
for var_name,var_value in module_obj.__dict__.items():
|
|
85
|
+
if isinstance(var_value,Booster) and var_value.queue_name == booster.queue_name:
|
|
86
|
+
func_name = var_name
|
|
87
|
+
|
|
88
|
+
# print(file_name, python_proj_dir, relative_module, func_name)
|
|
89
|
+
# print(relative_module)
|
|
81
90
|
if user == 'root': # 文件夹会被自动创建,无需用户创建。
|
|
82
91
|
remote_dir = f'/codes/{python_proj_dir_short}'
|
|
83
92
|
else:
|
|
@@ -93,9 +102,7 @@ def fabric_deploy(booster: Booster, host, port, user, password,
|
|
|
93
102
|
logger.info(f'上传 本地文件夹代码 {python_proj_dir} 上传到远程 {host} 的 {remote_dir} 文件夹耗时 {round(time.perf_counter() - t_start, 3)} 秒')
|
|
94
103
|
# conn.run(f'''export PYTHONPATH={remote_dir}:$PYTHONPATH''')
|
|
95
104
|
|
|
96
|
-
func_name = booster.consuming_function.__name__
|
|
97
105
|
queue_name = booster.consumer.queue_name
|
|
98
|
-
|
|
99
106
|
process_mark = f'funboost_fabric_mark__{queue_name}__{func_name}'
|
|
100
107
|
conn = Connection(host, port=port, user=user, connect_kwargs={"password": password}, )
|
|
101
108
|
kill_shell = f'''ps -aux|grep {process_mark}|grep -v grep|awk '{{print $2}}' |xargs kill -9'''
|
|
@@ -26,8 +26,11 @@ class LazyImpoter(SingletonBaseNew):
|
|
|
26
26
|
lazy_impoter = LazyImpoter()
|
|
27
27
|
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
# noinspection SpellCheckingInspection
|
|
30
|
+
@singleton
|
|
31
|
+
class GeventImporter:
|
|
30
32
|
"""
|
|
33
|
+
避免提前导入
|
|
31
34
|
import gevent
|
|
32
35
|
from gevent import pool as gevent_pool
|
|
33
36
|
from gevent import monkey
|
|
@@ -38,6 +41,7 @@ class GeventImporter(SingletonBaseNew):
|
|
|
38
41
|
@cached_method_result
|
|
39
42
|
def gevent(self):
|
|
40
43
|
import gevent
|
|
44
|
+
print('导入gevent')
|
|
41
45
|
return gevent
|
|
42
46
|
|
|
43
47
|
@property
|
|
@@ -50,6 +54,7 @@ class GeventImporter(SingletonBaseNew):
|
|
|
50
54
|
@cached_method_result
|
|
51
55
|
def monkey(self):
|
|
52
56
|
from gevent import monkey
|
|
57
|
+
print('导入gevent')
|
|
53
58
|
return monkey
|
|
54
59
|
|
|
55
60
|
@property
|
|
@@ -59,13 +64,16 @@ class GeventImporter(SingletonBaseNew):
|
|
|
59
64
|
return JoinableQueue
|
|
60
65
|
|
|
61
66
|
|
|
62
|
-
|
|
67
|
+
@singleton
|
|
68
|
+
class EventletImporter:
|
|
63
69
|
"""
|
|
70
|
+
避免提前导入
|
|
64
71
|
from eventlet import greenpool, monkey_patch, patcher, Timeout
|
|
65
72
|
"""
|
|
66
73
|
|
|
67
|
-
def
|
|
74
|
+
def __init__(self):
|
|
68
75
|
from eventlet import greenpool, monkey_patch, patcher, Timeout
|
|
76
|
+
print('导入eventlet')
|
|
69
77
|
self.greenpool = greenpool
|
|
70
78
|
self.monkey_patch = monkey_patch
|
|
71
79
|
self.patcher = patcher
|
|
@@ -76,3 +84,4 @@ if __name__ == '__main__':
|
|
|
76
84
|
for i in range(10000):
|
|
77
85
|
# lazy_impoter.BoostersManager
|
|
78
86
|
EventletImporter().greenpool
|
|
87
|
+
GeventImporter().JoinableQueue
|
|
@@ -5,6 +5,7 @@ import abc
|
|
|
5
5
|
import logging
|
|
6
6
|
import random
|
|
7
7
|
import uuid
|
|
8
|
+
from typing import TypeVar
|
|
8
9
|
|
|
9
10
|
from flask import request as flask_request
|
|
10
11
|
# noinspection PyUnresolvedReferences
|
|
@@ -148,8 +149,8 @@ def synchronized(func):
|
|
|
148
149
|
|
|
149
150
|
return lock_func
|
|
150
151
|
|
|
151
|
-
|
|
152
|
-
def singleton(cls):
|
|
152
|
+
ClSX = TypeVar('CLSX')
|
|
153
|
+
def singleton(cls:ClSX) -> ClSX:
|
|
153
154
|
"""
|
|
154
155
|
单例模式装饰器,新加入线程锁,更牢固的单例模式,主要解决多线程如100线程同时实例化情况下可能会出现三例四例的情况,实测。
|
|
155
156
|
"""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: funboost
|
|
3
|
-
Version: 43.
|
|
3
|
+
Version: 43.6
|
|
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
|
|
@@ -63,6 +63,7 @@ setup(
|
|
|
63
63
|
],
|
|
64
64
|
install_requires=[
|
|
65
65
|
'nb_log>=12.6',
|
|
66
|
+
'nb_libs>=0.9',
|
|
66
67
|
# 'eventlet==0.33.3',
|
|
67
68
|
# 'gevent==22.10.2',
|
|
68
69
|
'pymongo==4.3.3', # 3.5.1 -> 4.0.2
|
|
@@ -110,6 +111,7 @@ setup(
|
|
|
110
111
|
'frozenlist',
|
|
111
112
|
'fire',
|
|
112
113
|
'pydantic',
|
|
114
|
+
|
|
113
115
|
],
|
|
114
116
|
extras_require={'all': extra_brokers,
|
|
115
117
|
'extra_brokers': extra_brokers,
|
|
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.5 → funboost-43.6}/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.5 → funboost-43.6}/funboost/concurrent_pool/backup/async_pool_executor_janus.py
RENAMED
|
File without changes
|
|
File without changes
|
{funboost-43.5 → funboost-43.6}/funboost/concurrent_pool/bounded_processpoolexcutor_gt_py37.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{funboost-43.5 → funboost-43.6}/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.5 → funboost-43.6}/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.5 → funboost-43.6}/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
|
|
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
|