一个用于控制ESS kafkatonexus文件编写器的小型Python库。

file-writer-control的Python项目详细描述


文件编写器控件

这是一个用于控制ESS HDF5/NeXus file-writer application的小库。文件编写器是通过apachekafka代理向其发送命令来控制的。该库实现了命令的编码/解码以及该接口的抽象,以简化命令和控制。在

入门

关于这个库的用法的文档可以在这个存储库根目录下的examples目录中找到。要开始使用,请查看以下代码片段:

fromfile_writer_control.WorkerCommandChannelimportWorkerCommandChannelfromfile_writer_control.WriteJobimportWriteJobfromfile_writer_control.JobHandlerimportJobHandlerfromdatetimeimportdatetime,timedeltaimporttimecommand_channel=WorkerCommandChannel("dmsc-kafka01:9092/command_topic")job_handler=JobHandler(worker_finder=command_channel)write_job=WriteJob(nexus_structure="{...}","file.nxs","dmsc-kafka01:9092",datetime.now())start_handler=job_handler.start_job(write_job)whilenotstart_handler.is_done():time.sleep(1)stop_handler=job_handler.set_stop_time(datetime.now()+timedelta(seconds=60))whilenotstop_handler.is_done():time.sleep(1)whilenotwrite_job.is_done():time.sleep(1)print("Write job is done")

正在安装依赖项

这个库使用kafka-python库与Kafka代理进行通信,python-streaming-data-types用于序列化和反序列化与filewriter之间的消息。可以通过在存储库的根目录下执行以下命令来安装这些依赖项:

^{pr2}$

或者,要安装仅对当前用户可用的依赖项,请执行以下命令:

pip install --user -r requirements.txt

注意:在撰写本文时,此库所需的python流数据类型库版本尚未发布。如果要使用此库,则必须手动(并在本地)安装该库的filewriter\uctrl分支。在

另请注意:这个库是使用Python3.8开发的,但它很可能可以与Python3.6及更高版本一起使用。在

运行单元测试

要运行单元测试,请在此存储库的根目录下执行以下命令:

python -m pytest -s .

在本地安装开发版本

首先,卸载此库的所有现有版本:

pip uninstall file-writer-control

然后,从file writer control根目录运行以下命令:

pip install --user -e ./

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java向嵌入式Jetty添加多个端点   java如何在JAXWS处理程序中区分请求和响应?   使用Scenebuilder for JAVAFx的登录应用程序的java MVC体系结构   java对话框将不显示   Windows 7上的Java系统变量   java删除动态添加的面板   java将Javadoc嵌入到HTML网站中   带有URL编码数据的java Spring RestTemplate POST请求   java JAXR只运行一次函数   HttpClient缺少java依赖项   java深层反射比较   基于javarmi和CORBA的分布式计算   如何使用当前数据库时间从Java更新MongoDB?   java通过光标保存数据调试时显示错误数据