客户的目标是将Heroku用于项目,但我仍然坚持如何使其工作。
基本上,我需要运行一个大约需要15秒的函数,它依赖于自定义的repo,scipy和其他一些通常不在Heroku上托管的依赖项。所以我将应用程序变成了一个docker容器并将其推送到Heroku。到现在为止还挺好。
该函数的结果需要通过API响应返回。所以我计划将RQ用于任务队列,并设置一个工作进程。由于我的应用程序已经在使用Docker,我不得不坚持使用另一个docker容器。
我可以通过主应用程序提交任务,然后工作人员接管。但是,worker位于单独的docker容器中,无法导入该函数。如果我将函数完全移动到worker,那么我遇到同样的问题,因为当我调用enqueue时,我无法将该函数导入主应用程序。
有人知道如何解决这个问题吗?我觉得现在一团糟。