funboost 44.9__tar.gz → 45.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-44.9/funboost.egg-info → funboost-45.1}/PKG-INFO +6 -5
- {funboost-44.9 → funboost-45.1}/README.md +4 -4
- {funboost-44.9 → funboost-45.1}/funboost/__init__.py +1 -1
- {funboost-44.9 → funboost-45.1}/funboost/__init__old.py +1 -1
- {funboost-44.9 → funboost-45.1}/funboost/constant.py +3 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/base_consumer.py +5 -2
- {funboost-44.9 → funboost-45.1}/funboost/core/booster.py +6 -5
- {funboost-44.9 → funboost-45.1}/funboost/core/current_task.py +1 -1
- {funboost-44.9 → funboost-45.1}/funboost/core/func_params_model.py +5 -6
- {funboost-44.9 → funboost-45.1}/funboost/core/helper_funs.py +1 -1
- funboost-45.1/funboost/function_result_web/__pycache__/app.cpython-37.pyc +0 -0
- funboost-45.1/funboost/function_result_web/__pycache__/functions.cpython-37.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/base_publisher.py +17 -7
- {funboost-44.9 → funboost-45.1}/funboost/set_frame_config.py +1 -1
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-311.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-37.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-39.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/__pycache__/add_to_pythonpath.cpython-311.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/__pycache__/add_to_pythonpath.cpython-37.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/__pycache__/add_to_pythonpath.cpython-39.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__init__.py +59 -59
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/__init__.cpython-311.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/__init__.cpython-37.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/__init__.cpython-39.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/client.cpython-311.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/client.cpython-37.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/client.cpython-39.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/compat.cpython-311.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/compat.cpython-37.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/compat.cpython-39.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/connection.cpython-311.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/connection.cpython-37.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/connection.cpython-39.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/exceptions.cpython-311.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/exceptions.cpython-37.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/exceptions.cpython-39.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/lock.cpython-311.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/lock.cpython-37.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/lock.cpython-39.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/utils.cpython-311.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/utils.cpython-37.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/utils.cpython-39.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/client.py +4804 -4804
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/compat.py +8 -8
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/connection.py +1668 -1668
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/exceptions.py +96 -96
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/lock.py +306 -306
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/log.py +15 -15
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/sentinel.py +329 -329
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/utils.py +61 -61
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__init__.py +16 -16
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/StoppableThread.cpython-311.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/StoppableThread.cpython-37.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/StoppableThread.cpython-39.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/__init__.cpython-311.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/__init__.cpython-37.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/__init__.cpython-39.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/dafunc.cpython-311.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/dafunc.cpython-37.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/dafunc.cpython-39.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/exceptions.cpython-311.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/exceptions.cpython-37.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/exceptions.cpython-39.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/py3_raise.cpython-311.pyc +0 -0
- funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/py3_raise.cpython-37.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/__pycache__/py3_raise.cpython-39.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/exceptions.py +98 -98
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/py2_raise.py +7 -7
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/py3_raise.py +7 -7
- {funboost-44.9 → funboost-45.1}/funboost/utils/times/__init__.py +85 -85
- {funboost-44.9 → funboost-45.1}/funboost/utils/times/version.py +1 -1
- {funboost-44.9 → funboost-45.1/funboost.egg-info}/PKG-INFO +6 -5
- {funboost-44.9 → funboost-45.1}/funboost.egg-info/SOURCES.txt +30 -1
- {funboost-44.9 → funboost-45.1}/funboost.egg-info/entry_points.txt +1 -0
- {funboost-44.9 → funboost-45.1}/funboost.egg-info/requires.txt +1 -1
- {funboost-44.9 → funboost-45.1}/setup.py +1 -1
- funboost-44.9/funboost/function_result_web/__pycache__/functions.cpython-39.pyc +0 -0
- funboost-44.9/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-39.pyc +0 -0
- funboost-44.9/funboost/utils/dependency_packages_in_pythonpath/__pycache__/add_to_pythonpath.cpython-39.pyc +0 -0
- funboost-44.9/funboost/utils/dependency_packages_in_pythonpath/aioredis/__pycache__/compat.cpython-39.pyc +0 -0
- {funboost-44.9 → funboost-45.1}/LICENSE +0 -0
- {funboost-44.9 → funboost-45.1}/MANIFEST.in +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/__main__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/assist/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/assist/celery_helper.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/assist/dramatiq_helper.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/assist/huey_helper.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/assist/rocketry_helper.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/assist/rq_helper.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/assist/rq_windows_worker.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/beggar_version_implementation/beggar_redis_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/async_helper.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/async_pool_executor.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/backup/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/backup/async_pool_executor0223.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/backup/async_pool_executor_back.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/backup/async_pool_executor_janus.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/base_pool_type.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/bounded_processpoolexcutor_gt_py37.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/bounded_processpoolexcutor_py36.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/bounded_threadpoolexcutor.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/concurrent_pool_with_multi_process.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/custom_evenlet_pool_executor.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/custom_gevent_pool_executor.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/custom_threadpool_executor.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/custom_threadpool_executor000.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/fixed_thread_pool.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/flexible_thread_pool.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/pool_commons.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/concurrent_pool/single_thread_executor.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/celery_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/confirm_mixin.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/dramatiq_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/empty_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/http_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/http_consumer000.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/httpsqs_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/huey_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/kafka_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/kafka_consumer_manually_commit.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/kombu_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/local_python_queue_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/memory_deque_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/mongomq_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/mqtt_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/nameko_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/nats_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/nsq_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/peewee_conusmer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/persist_queue_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/pulsar_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/rabbitmq_amqpstorm_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/rabbitmq_pika_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/rabbitmq_pika_consumerv0.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/rabbitmq_rabbitpy_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/redis_brpoplpush_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/redis_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/redis_consumer_ack_able.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/redis_consumer_ack_using_timeout.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/redis_consumer_priority.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/redis_consumer_simple.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/redis_filter.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/redis_pubsub_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/redis_stream_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/rocketmq_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/rq_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/sqlachemy_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/tcp_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/txt_file_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/udp_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/consumers/zeromq_consumer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/contrib/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/contrib/api_publish_msg.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/contrib/django_db_deco.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/contrib/queue2queue.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/contrib/redis_consume_latest_msg_broker.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/contrib/save_result_status_to_sqldb.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/active_cousumer_info_getter.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/cli/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/cli/discovery_boosters.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/cli/funboost_cli_user_templ.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/cli/funboost_fire.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/exceptions.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/fabric_deploy_helper.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/funboost_config_getter.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/funboost_current_task_context_thread.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/funboost_time.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/function_result_status_config.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/function_result_status_saver.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/kill_remote_task.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/lazy_impoter.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/loggers.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/msg_result_getter.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/muliti_process_enhance.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/core/task_id_logger.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/factories/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/factories/broker_kind__publsiher_consumer_type_map.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/factories/consumer_factory.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/factories/publisher_factotry.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/funboost_config_deafult.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/function_result_web/app.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/function_result_web/functions.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/function_result_web/static/assets/css/custom.css +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/function_result_web/static/assets/css/jquery.mCustomScrollbar.min.css +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/function_result_web/static/assets/img/user.jpg +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/function_result_web/static/assets/js/custom.js +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/function_result_web/static/assets/js/jquery.mCustomScrollbar.concat.min.js +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/function_result_web/static/css/style.css +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/function_result_web/static/images/bg.jpg +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/function_result_web/static/images/password.png +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/function_result_web/static/images/tick.png +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/function_result_web/static/images/user.png +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/function_result_web/static/js/jquery-1.11.0.min.js +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/function_result_web/templates/index.html +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/function_result_web/templates/login.html +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/celery_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/celery_publisher000.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/confluent_kafka_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/dramatiq_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/empty_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/http_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/httpsqs_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/huey_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/kafka_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/kombu_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/local_python_queue_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/meomory_deque_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/mongomq_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/mqtt_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/nameko_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/nats_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/nsq_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/peewee_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/persist_queue_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/pulsar_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/rabbitmq_amqpstorm_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/rabbitmq_pika_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/rabbitmq_rabbitpy_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/redis_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/redis_publisher_lpush.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/redis_publisher_priority.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/redis_publisher_simple.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/redis_pubsub_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/redis_queue_flush_mixin.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/redis_stream_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/rocketmq_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/rq_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/sqla_queue_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/tcp_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/txt_file_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/udp_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/publishers/zeromq_publisher.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/queues/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/queues/peewee_queue.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/queues/sqla_queue.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/timing_job/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/timing_job/apscheduler_use_mysql_store.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/timing_job/apscheduler_use_redis_store.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/apscheduler_monkey.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/block_exit.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/bulk_operation.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/class_utils.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/ctrl_c_end.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/custom_pysnooper.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/decorators.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages/mongomq/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages/mongomq/lock.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages/mongomq/mongomq.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages/mongomq/mongomq0000.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages/mongomq/test.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages/mongomq/utils.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/add_to_pythonpath.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/py.typed +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/aioredis/readme.md +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/StoppableThread.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/dafunc.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/func_timeout/dafunc2222.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/dependency_packages_in_pythonpath/readme.md +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/develop_log.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/expire_lock.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/json_helper.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/mongo_util.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/monkey_color_log.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/monkey_patches.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/mqtt_util.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/paramiko_util.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/pysnooper_ydf/__init__.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/pysnooper_ydf/pycompat.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/pysnooper_ydf/tracer.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/pysnooper_ydf/utils.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/pysnooper_ydf/variables.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/rabbitmq_factory.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/redis_manager.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/redis_manager_old.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/resource_monitoring.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/restart_python.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/simple_data_class.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/str_utils.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/time_util.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost/utils/un_strict_json_dumps.py +0 -0
- {funboost-44.9 → funboost-45.1}/funboost.egg-info/dependency_links.txt +0 -0
- {funboost-44.9 → funboost-45.1}/funboost.egg-info/top_level.txt +0 -0
- {funboost-44.9 → funboost-45.1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: funboost
|
|
3
|
-
Version:
|
|
3
|
+
Version: 45.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
|
|
@@ -87,8 +87,8 @@ funboost的旧框架名字是function_scheduling_distributed_framework , 关系
|
|
|
87
87
|
|
|
88
88
|
## 1.0 github地址和文档地址
|
|
89
89
|
|
|
90
|
-
### 1.0.1 [分布式函数调度框架文档地址 ](https://funboost.readthedocs.io/zh/latest/index.html)
|
|
91
|
-
[查看分布式函数调度框架文档 https://funboost.readthedocs.io/zh/latest/index.html](https://funboost.readthedocs.io/zh/latest/index.html)
|
|
90
|
+
### 1.0.1 [分布式函数调度框架文档地址 ](https://funboost.readthedocs.io/zh-cn/latest/index.html)
|
|
91
|
+
[查看分布式函数调度框架文档 https://funboost.readthedocs.io/zh-cn/latest/index.html](https://funboost.readthedocs.io/zh-cn/latest/index.html)
|
|
92
92
|
|
|
93
93
|
|
|
94
94
|
[funboost依赖的nb_log日志文档 https://nb-log-doc.readthedocs.io/zh_CN/latest/articles/c9.html#id2](https://nb-log-doc.readthedocs.io/zh_CN/latest/articles/c9.html#id2)
|
|
@@ -235,7 +235,7 @@ if __name__ == '__main__':
|
|
|
235
235
|
|
|
236
236
|
框架支持的中间件种类大全和选型见文档3.1章节的介绍:
|
|
237
237
|
|
|
238
|
-
[3.1 各种中间件选择的场景和优势](https://funboost.readthedocs.io/zh/latest/articles/c3.html#id2)
|
|
238
|
+
[3.1 各种中间件选择的场景和优势](https://funboost.readthedocs.io/zh-cn/latest/articles/c3.html#id2)
|
|
239
239
|
|
|
240
240
|
|
|
241
241
|
### 1.2.3 框架对任务支持30种控制功能。
|
|
@@ -478,7 +478,7 @@ python比其他语言更需要分布式函数调度框架来执行函数,有
|
|
|
478
478
|
funboost通过支持celery作为broker_kind,使celer框架变成了funboost的一个子集
|
|
479
479
|
```
|
|
480
480
|
|
|
481
|
-
[查看分布式函数调度框架完整文档](https://funboost.readthedocs.io/zh/latest/index.html)
|
|
481
|
+
[查看分布式函数调度框架完整文档](https://funboost.readthedocs.io/zh-cn/latest/index.html)
|
|
482
482
|
|
|
483
483
|
|
|
484
484
|
|
|
@@ -492,3 +492,4 @@ funboost通过支持celery作为broker_kind,使celer框架变成了funboost的
|
|
|
492
492
|

|
|
493
493
|
|
|
494
494
|
<div> </div>
|
|
495
|
+
|
|
@@ -55,8 +55,8 @@ funboost的旧框架名字是function_scheduling_distributed_framework , 关系
|
|
|
55
55
|
|
|
56
56
|
## 1.0 github地址和文档地址
|
|
57
57
|
|
|
58
|
-
### 1.0.1 [分布式函数调度框架文档地址 ](https://funboost.readthedocs.io/zh/latest/index.html)
|
|
59
|
-
[查看分布式函数调度框架文档 https://funboost.readthedocs.io/zh/latest/index.html](https://funboost.readthedocs.io/zh/latest/index.html)
|
|
58
|
+
### 1.0.1 [分布式函数调度框架文档地址 ](https://funboost.readthedocs.io/zh-cn/latest/index.html)
|
|
59
|
+
[查看分布式函数调度框架文档 https://funboost.readthedocs.io/zh-cn/latest/index.html](https://funboost.readthedocs.io/zh-cn/latest/index.html)
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
[funboost依赖的nb_log日志文档 https://nb-log-doc.readthedocs.io/zh_CN/latest/articles/c9.html#id2](https://nb-log-doc.readthedocs.io/zh_CN/latest/articles/c9.html#id2)
|
|
@@ -203,7 +203,7 @@ if __name__ == '__main__':
|
|
|
203
203
|
|
|
204
204
|
框架支持的中间件种类大全和选型见文档3.1章节的介绍:
|
|
205
205
|
|
|
206
|
-
[3.1 各种中间件选择的场景和优势](https://funboost.readthedocs.io/zh/latest/articles/c3.html#id2)
|
|
206
|
+
[3.1 各种中间件选择的场景和优势](https://funboost.readthedocs.io/zh-cn/latest/articles/c3.html#id2)
|
|
207
207
|
|
|
208
208
|
|
|
209
209
|
### 1.2.3 框架对任务支持30种控制功能。
|
|
@@ -446,7 +446,7 @@ python比其他语言更需要分布式函数调度框架来执行函数,有
|
|
|
446
446
|
funboost通过支持celery作为broker_kind,使celer框架变成了funboost的一个子集
|
|
447
447
|
```
|
|
448
448
|
|
|
449
|
-
[查看分布式函数调度框架完整文档](https://funboost.readthedocs.io/zh/latest/index.html)
|
|
449
|
+
[查看分布式函数调度框架完整文档](https://funboost.readthedocs.io/zh-cn/latest/index.html)
|
|
450
450
|
|
|
451
451
|
|
|
452
452
|
|
|
@@ -179,7 +179,7 @@ def boost(queue_name,
|
|
|
179
179
|
funboost.funboost_config_deafult.BoostDecoratorDefaultParams 的值会自动被你项目根目录下的funboost_config.BoostDecoratorDefaultParams的值覆盖,
|
|
180
180
|
如果boost装饰器不传参,默认使用funboost_config.BoostDecoratorDefaultParams的配置
|
|
181
181
|
|
|
182
|
-
入参也可以看文档 https://funboost.readthedocs.io/zh/latest/articles/c3.html 3.3章节。
|
|
182
|
+
入参也可以看文档 https://funboost.readthedocs.io/zh-cn/latest/articles/c3.html 3.3章节。
|
|
183
183
|
|
|
184
184
|
# 为了代码提示好,这里重复一次入参意义。被此装饰器装饰的函数f,函数f对象本身自动加了一些方法,例如f.push 、 f.consume等。
|
|
185
185
|
:param queue_name: 队列名字。
|
|
@@ -38,6 +38,7 @@ from funboost.core.func_params_model import BoosterParams, PublisherParams, Base
|
|
|
38
38
|
from funboost.core.task_id_logger import TaskIdLogger
|
|
39
39
|
from funboost.constant import FunctionKind
|
|
40
40
|
from funboost.utils.json_helper import JsonUtils
|
|
41
|
+
from nb_libs.path_helper import PathHelper
|
|
41
42
|
from nb_log import (get_logger, LoggerLevelSetterMixin, LogManager, is_main_process,
|
|
42
43
|
nb_log_config_default)
|
|
43
44
|
from funboost.core.loggers import FunboostFileLoggerMixin, logger_prompt
|
|
@@ -581,11 +582,13 @@ class AbstractConsumer(LoggerLevelSetterMixin, metaclass=abc.ABCMeta, ):
|
|
|
581
582
|
method_first_param_name = k
|
|
582
583
|
method_first_param_value = v
|
|
583
584
|
break
|
|
584
|
-
method_cls = getattr(sys.modules[self.consumer_params.consuming_function_class_module],
|
|
585
|
-
|
|
585
|
+
# method_cls = getattr(sys.modules[self.consumer_params.consuming_function_class_module],
|
|
586
|
+
# self.consumer_params.consuming_function_class_name)
|
|
586
587
|
if self.publisher_params.consuming_function_kind == FunctionKind.CLASS_METHOD:
|
|
588
|
+
method_cls = getattr(PathHelper(method_first_param_value[ConstStrForClassMethod.CLS_FILE]).import_as_module(),method_first_param_value[ConstStrForClassMethod.CLS_NAME])
|
|
587
589
|
real_function_only_params[method_first_param_name] = method_cls
|
|
588
590
|
elif self.publisher_params.consuming_function_kind == FunctionKind.INSTANCE_METHOD:
|
|
591
|
+
method_cls = getattr(PathHelper(method_first_param_value[ConstStrForClassMethod.CLS_FILE]).import_as_module(), method_first_param_value[ConstStrForClassMethod.CLS_NAME])
|
|
589
592
|
obj = method_cls(**method_first_param_value[ConstStrForClassMethod.OBJ_INIT_PARAMS])
|
|
590
593
|
real_function_only_params[method_first_param_name] = obj
|
|
591
594
|
# print(real_function_only_params)
|
|
@@ -90,16 +90,17 @@ class Booster:
|
|
|
90
90
|
if len(kwargs) == 0 and len(args) == 1 and isinstance(args[0], typing.Callable):
|
|
91
91
|
consuming_function = args[0]
|
|
92
92
|
self.boost_params.consuming_function = consuming_function
|
|
93
|
+
self.boost_params.consuming_function_raw = consuming_function
|
|
93
94
|
# print(consuming_function)
|
|
94
95
|
# print(ClsHelper.get_method_kind(consuming_function))
|
|
95
96
|
# print(inspect.getsourcelines(consuming_function))
|
|
96
97
|
if self.boost_params.consuming_function_kind is None:
|
|
97
98
|
self.boost_params.consuming_function_kind = ClsHelper.get_method_kind(consuming_function)
|
|
98
|
-
if self.boost_params.consuming_function_kind in [FunctionKind.CLASS_METHOD,FunctionKind.INSTANCE_METHOD]:
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
99
|
+
# if self.boost_params.consuming_function_kind in [FunctionKind.CLASS_METHOD,FunctionKind.INSTANCE_METHOD]:
|
|
100
|
+
# if self.boost_params.consuming_function_class_module is None:
|
|
101
|
+
# self.boost_params.consuming_function_class_module = consuming_function.__module__
|
|
102
|
+
# if self.boost_params.consuming_function_class_name is None:
|
|
103
|
+
# self.boost_params.consuming_function_class_name = consuming_function.__qualname__.split('.')[0]
|
|
103
104
|
logger_prompt.debug(f''' {self.boost_params.queue_name} booster 配置是 {self.boost_params.json_str_value()}''')
|
|
104
105
|
self.consuming_function = consuming_function
|
|
105
106
|
self.is_decorated_as_consume_function = True
|
|
@@ -160,9 +160,9 @@ def funboost_current_task():
|
|
|
160
160
|
|
|
161
161
|
|
|
162
162
|
def get_current_taskid():
|
|
163
|
-
fct = funboost_current_task()
|
|
164
163
|
# return fct.function_result_status.task_id
|
|
165
164
|
try:
|
|
165
|
+
fct = funboost_current_task()
|
|
166
166
|
return fct.task_id # 不在funboost的消费函数里面就获取不到上下文了
|
|
167
167
|
except (AttributeError, LookupError) as e:
|
|
168
168
|
# print(e,type(e))
|
|
@@ -179,8 +179,9 @@ class BoosterParams(BaseJsonAbleModel):
|
|
|
179
179
|
schedule_tasks_on_main_thread: bool = False # 直接在主线程调度任务,意味着不能直接在当前主线程同时开启两个消费者。
|
|
180
180
|
|
|
181
181
|
consuming_function: typing.Callable = None # 消费函数,在@boost时候不用指定,因为装饰器知道下面的函数.
|
|
182
|
+
consuming_function_raw: typing.Callable = None
|
|
182
183
|
|
|
183
|
-
broker_kind: str = BrokerEnum.SQLITE_QUEUE # 中间件选型见3.1章节 https://funboost.readthedocs.io/zh/latest/articles/c3.html
|
|
184
|
+
broker_kind: str = BrokerEnum.SQLITE_QUEUE # 中间件选型见3.1章节 https://funboost.readthedocs.io/zh-cn/latest/articles/c3.html
|
|
184
185
|
|
|
185
186
|
broker_exclusive_config: dict = {} # 加上一个不同种类中间件非通用的配置,不同中间件自身独有的配置,不是所有中间件都兼容的配置,因为框架支持30种消息队列,消息队列不仅仅是一般的先进先出queue这么简单的概念,
|
|
186
187
|
# 例如kafka支持消费者组,rabbitmq也支持各种独特概念例如各种ack机制 复杂路由机制,有的中间件原生能支持消息优先级有的中间件不支持,每一种消息队列都有独特的配置参数意义,可以通过这里传递。每种中间件能传递的键值对可以看consumer类的 BROKER_EXCLUSIVE_CONFIG_DEFAULT
|
|
@@ -193,10 +194,9 @@ class BoosterParams(BaseJsonAbleModel):
|
|
|
193
194
|
# func_params_is_pydantic_model: bool = False # funboost 兼容支持 函数娼还是 pydantic model类型,funboost在发布之前和取出来时候自己转化。
|
|
194
195
|
|
|
195
196
|
auto_generate_info: dict = {} # 自动生成的信息,不需要用户主动传参.
|
|
196
|
-
|
|
197
|
+
|
|
197
198
|
consuming_function_kind :typing.Optional[str]= None #自动生成的信息,不需要用户主动传参.
|
|
198
|
-
|
|
199
|
-
consuming_function_class_name: typing.Optional[str] = None #自动生成的信息,不需要用户主动传参.
|
|
199
|
+
|
|
200
200
|
|
|
201
201
|
@root_validator(skip_on_failure=True)
|
|
202
202
|
def check_values(cls, values: dict):
|
|
@@ -295,8 +295,7 @@ class PublisherParams(BaseJsonAbleModel):
|
|
|
295
295
|
# func_params_is_pydantic_model: bool = False # funboost 兼容支持 函数娼还是 pydantic model类型,funboost在发布之前和取出来时候自己转化。
|
|
296
296
|
|
|
297
297
|
consuming_function_kind: typing.Optional[str] = None # 自动生成的信息,不需要用户主动传参.
|
|
298
|
-
|
|
299
|
-
consuming_function_class_name: typing.Optional[str] = None # 自动生成的信息,不需要用户主动传参.
|
|
298
|
+
|
|
300
299
|
|
|
301
300
|
|
|
302
301
|
if __name__ == '__main__':
|
|
@@ -28,7 +28,7 @@ def delete_keys_and_return_new_dict(dictx: dict, keys: list = None):
|
|
|
28
28
|
def block_python_main_thread_exit():
|
|
29
29
|
"""
|
|
30
30
|
|
|
31
|
-
https://funboost.readthedocs.io/zh/latest/articles/c10.html#runtimeerror-cannot-schedule-new-futures-after-interpreter-shutdown
|
|
31
|
+
https://funboost.readthedocs.io/zh-cn/latest/articles/c10.html#runtimeerror-cannot-schedule-new-futures-after-interpreter-shutdown
|
|
32
32
|
|
|
33
33
|
主要是用于 python3.9以上 定时任务报错, 定时任务报错 RuntimeError: cannot schedule new futures after interpreter shutdown
|
|
34
34
|
如果主线程结束了,apscheduler就会报这个错,加上这个while 1 : time.sleep(100) 目的就是阻止主线程退出。
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
2
|
# @Author : ydf
|
|
3
3
|
# @Time : 2022/8/8 0008 11:57
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
|
|
4
6
|
import abc
|
|
5
7
|
import copy
|
|
6
8
|
import inspect
|
|
@@ -8,6 +10,7 @@ import atexit
|
|
|
8
10
|
import json
|
|
9
11
|
import logging
|
|
10
12
|
import multiprocessing
|
|
13
|
+
import sys
|
|
11
14
|
import threading
|
|
12
15
|
import time
|
|
13
16
|
import typing
|
|
@@ -30,8 +33,6 @@ from funboost.core.task_id_logger import TaskIdLogger
|
|
|
30
33
|
from funboost.utils import decorators
|
|
31
34
|
from funboost.funboost_config_deafult import BrokerConnConfig, FunboostCommonConfig
|
|
32
35
|
|
|
33
|
-
|
|
34
|
-
|
|
35
36
|
RedisAsyncResult = AsyncResult # 别名
|
|
36
37
|
RedisAioAsyncResult = AioAsyncResult # 别名
|
|
37
38
|
|
|
@@ -257,14 +258,23 @@ class AbstractPublisher(LoggerLevelSetterMixin, metaclass=abc.ABCMeta, ):
|
|
|
257
258
|
# func_args_list.insert(0, {'first_param_name': self.publish_params_checker.all_arg_name[0],
|
|
258
259
|
# 'cls_type': ClsHelper.get_classs_method_cls(self.publisher_params.consuming_function).__name__},
|
|
259
260
|
# )
|
|
260
|
-
|
|
261
|
-
|
|
261
|
+
cls = func_args_list[0]
|
|
262
|
+
# print(cls,cls.__name__, sys.modules[cls.__module__].__file__)
|
|
263
|
+
func_args_list[0] = {ConstStrForClassMethod.FIRST_PARAM_NAME: self.publish_params_checker.all_arg_name[0],
|
|
264
|
+
ConstStrForClassMethod.CLS_NAME: cls.__name__,
|
|
265
|
+
ConstStrForClassMethod.CLS_FILE: Path(sys.modules[cls.__module__].__file__).resolve().as_posix(),
|
|
266
|
+
}
|
|
262
267
|
elif self.publisher_params.consuming_function_kind == FunctionKind.INSTANCE_METHOD:
|
|
263
|
-
|
|
268
|
+
obj = func_args[0]
|
|
269
|
+
cls = type(obj)
|
|
270
|
+
if not hasattr(obj, ConstStrForClassMethod.OBJ_INIT_PARAMS):
|
|
264
271
|
raise ValueError(f'消费函数 {self.publisher_params.consuming_function} 是实例方法,实例必须有 {ConstStrForClassMethod.OBJ_INIT_PARAMS} 属性')
|
|
265
272
|
func_args_list[0] = {ConstStrForClassMethod.FIRST_PARAM_NAME: self.publish_params_checker.all_arg_name[0],
|
|
266
|
-
ConstStrForClassMethod.
|
|
267
|
-
ConstStrForClassMethod.
|
|
273
|
+
ConstStrForClassMethod.CLS_NAME: cls.__name__,
|
|
274
|
+
ConstStrForClassMethod.CLS_FILE: Path(sys.modules[cls.__module__].__file__).resolve().as_posix(),
|
|
275
|
+
ConstStrForClassMethod.OBJ_INIT_PARAMS: getattr(obj, ConstStrForClassMethod.OBJ_INIT_PARAMS),
|
|
276
|
+
|
|
277
|
+
}
|
|
268
278
|
|
|
269
279
|
for index, arg in enumerate(func_args_list):
|
|
270
280
|
# print(index,arg,self.publish_params_checker.position_arg_name_list)
|
|
@@ -63,7 +63,7 @@ def show_funboost_flag():
|
|
|
63
63
|
|
|
64
64
|
logger_prompt.debug('\033[0m' + funboost_flag_str2 + '\033[0m')
|
|
65
65
|
|
|
66
|
-
logger_prompt.debug(f'''分布式函数调度框架funboost文档地址: \033[0m https://funboost.readthedocs.io/zh/latest/ \033[0m ''')
|
|
66
|
+
logger_prompt.debug(f'''分布式函数调度框架funboost文档地址: \033[0m https://funboost.readthedocs.io/zh-cn/latest/ \033[0m ''')
|
|
67
67
|
|
|
68
68
|
|
|
69
69
|
show_funboost_flag()
|
funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-311.pyc
ADDED
|
Binary file
|
funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-37.pyc
ADDED
|
Binary file
|
funboost-45.1/funboost/utils/dependency_packages_in_pythonpath/__pycache__/__init__.cpython-39.pyc
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
from aioredis.client import Redis, StrictRedis
|
|
2
|
-
from aioredis.connection import (
|
|
3
|
-
BlockingConnectionPool,
|
|
4
|
-
Connection,
|
|
5
|
-
ConnectionPool,
|
|
6
|
-
SSLConnection,
|
|
7
|
-
UnixDomainSocketConnection,
|
|
8
|
-
)
|
|
9
|
-
from aioredis.exceptions import (
|
|
10
|
-
AuthenticationError,
|
|
11
|
-
AuthenticationWrongNumberOfArgsError,
|
|
12
|
-
BusyLoadingError,
|
|
13
|
-
ChildDeadlockedError,
|
|
14
|
-
ConnectionError,
|
|
15
|
-
DataError,
|
|
16
|
-
InvalidResponse,
|
|
17
|
-
PubSubError,
|
|
18
|
-
ReadOnlyError,
|
|
19
|
-
RedisError,
|
|
20
|
-
ResponseError,
|
|
21
|
-
TimeoutError,
|
|
22
|
-
WatchError,
|
|
23
|
-
)
|
|
24
|
-
from aioredis.utils import from_url
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
def int_or_str(value):
|
|
28
|
-
try:
|
|
29
|
-
return int(value)
|
|
30
|
-
except ValueError:
|
|
31
|
-
return value
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
__version__ = "2.0.1"
|
|
35
|
-
VERSION = tuple(map(int_or_str, __version__.split(".")))
|
|
36
|
-
|
|
37
|
-
__all__ = [
|
|
38
|
-
"AuthenticationError",
|
|
39
|
-
"AuthenticationWrongNumberOfArgsError",
|
|
40
|
-
"BlockingConnectionPool",
|
|
41
|
-
"BusyLoadingError",
|
|
42
|
-
"ChildDeadlockedError",
|
|
43
|
-
"Connection",
|
|
44
|
-
"ConnectionError",
|
|
45
|
-
"ConnectionPool",
|
|
46
|
-
"DataError",
|
|
47
|
-
"from_url",
|
|
48
|
-
"InvalidResponse",
|
|
49
|
-
"PubSubError",
|
|
50
|
-
"ReadOnlyError",
|
|
51
|
-
"Redis",
|
|
52
|
-
"RedisError",
|
|
53
|
-
"ResponseError",
|
|
54
|
-
"SSLConnection",
|
|
55
|
-
"StrictRedis",
|
|
56
|
-
"TimeoutError",
|
|
57
|
-
"UnixDomainSocketConnection",
|
|
58
|
-
"WatchError",
|
|
59
|
-
]
|
|
1
|
+
from aioredis.client import Redis, StrictRedis
|
|
2
|
+
from aioredis.connection import (
|
|
3
|
+
BlockingConnectionPool,
|
|
4
|
+
Connection,
|
|
5
|
+
ConnectionPool,
|
|
6
|
+
SSLConnection,
|
|
7
|
+
UnixDomainSocketConnection,
|
|
8
|
+
)
|
|
9
|
+
from aioredis.exceptions import (
|
|
10
|
+
AuthenticationError,
|
|
11
|
+
AuthenticationWrongNumberOfArgsError,
|
|
12
|
+
BusyLoadingError,
|
|
13
|
+
ChildDeadlockedError,
|
|
14
|
+
ConnectionError,
|
|
15
|
+
DataError,
|
|
16
|
+
InvalidResponse,
|
|
17
|
+
PubSubError,
|
|
18
|
+
ReadOnlyError,
|
|
19
|
+
RedisError,
|
|
20
|
+
ResponseError,
|
|
21
|
+
TimeoutError,
|
|
22
|
+
WatchError,
|
|
23
|
+
)
|
|
24
|
+
from aioredis.utils import from_url
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def int_or_str(value):
|
|
28
|
+
try:
|
|
29
|
+
return int(value)
|
|
30
|
+
except ValueError:
|
|
31
|
+
return value
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
__version__ = "2.0.1"
|
|
35
|
+
VERSION = tuple(map(int_or_str, __version__.split(".")))
|
|
36
|
+
|
|
37
|
+
__all__ = [
|
|
38
|
+
"AuthenticationError",
|
|
39
|
+
"AuthenticationWrongNumberOfArgsError",
|
|
40
|
+
"BlockingConnectionPool",
|
|
41
|
+
"BusyLoadingError",
|
|
42
|
+
"ChildDeadlockedError",
|
|
43
|
+
"Connection",
|
|
44
|
+
"ConnectionError",
|
|
45
|
+
"ConnectionPool",
|
|
46
|
+
"DataError",
|
|
47
|
+
"from_url",
|
|
48
|
+
"InvalidResponse",
|
|
49
|
+
"PubSubError",
|
|
50
|
+
"ReadOnlyError",
|
|
51
|
+
"Redis",
|
|
52
|
+
"RedisError",
|
|
53
|
+
"ResponseError",
|
|
54
|
+
"SSLConnection",
|
|
55
|
+
"StrictRedis",
|
|
56
|
+
"TimeoutError",
|
|
57
|
+
"UnixDomainSocketConnection",
|
|
58
|
+
"WatchError",
|
|
59
|
+
]
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|