It looks like you don't need to use _process in this case at all.
If you want it to shoot regularly, you can make it shoot everytime the ShootTimer runs out.
Try replacing your
_on_ShootTimer_timeout() with this:
var temp = saw_shot.instance()
temp.global_position = global_position
temp.setup(ray.get_collision_point() - position)
Then go to your ShootTimer in the Inspector. Make sure Autostart is on, and One Shot is off.
If you want it to point at the player when it's in-range, that's a different question, but hopefully this is what you meant.
(edit: formatting the code to have indents, I hope)